Многое зависит от того, что вы делаете и почему. в этом примере вы помещаете в запрос предложение limit - это логика бизнеса или отображения? С моей точки зрения, трудно утверждать, что это бизнес-логика - то, что я возвращаю 10 элементов, не имеет отношения к модели - это только то, сколько я думаю имеет смысл использовать на одной странице. Если вы хотите, чтобы это правило было согласованным на всех контроллерах, вы можете установить некоторое значение конфигурации для обеспечения согласованности. Но включение его в модель просто делает модель бесполезной (есть разница между толстыми и тучными моделями)
Я бы сказал, что ограничения, заказы и смещения часто не являются бизнес-логикой. Даже простое, где может или не может быть в зависимости от случая. Если там есть соединение, это признак того, что что-то не так.
Пример от Яна Фабри в основном довольно хороший. filterByTitle для меня выглядит примерно так же, как titleContainsWord. filterByPublishedAt (array ('max' => time ())) намного хуже, чем -> ключ (). В целом, чем меньше контролерам нужно знать о внутренней структуре данных, тем лучше.