Pull to refresh

Comments 4

UFO just landed and posted this here
А можно было и через CASE сделать. Или в чистом sql.
Но пользуясь фреймворком, мне кажется, логично писать в принятом в нём стиле :)

Кстати, в вашем случае, как вы собиратее custom_sql если меняется какой-то параметр? Т.е. не WHERE 1, а более хитрый селект, или LIMIT другой? Вручную же и собираете? А как проверяете на injection? Тоже вручную?

Можно пример, хотелось бы посмотреть.
UFO just landed and posted this here
Очень хочется спросить тогда, зачем пользоваться CakePHP? Ведь так можно и php совсем забыть :)

А если серьёзно, то я стараюсь не использовать ручные запросы по следующим причинам:

1) я уже не помню случая, когда бы у меня в проекте не было сложных запросов. Всегда есть связанные таблицы, всегда есть какая-то выборка, поиск
2) при количестве JOIN-ов больше 4-5, да ещё с разными условиями, sql-ина получается строк на 5-6. В случае, если проект надо переделать, изменить, расширить — это уже задача не совсем простая. Решаемая, но не простая. Особенно, когда после написания кода прошло 5-6 месяцев и 20-ть других проектов
3) а если мы меняем базу с MySQL на другую? Я тут, не очень большой склифосовский, но мне кажется, что в случае отсутствия custom_sql переход будет происходить простой правкой в файлике database.php. Без ползания по исходникам в поисках «где же ещё надо поправить формат sql запроса под новые требования?

Но это мой подход :)
Sign up to leave a comment.

Articles