и всякие выборки хранят в *Repository классах.
А как в yii2 корректно такое сделать? трейты к модели пристыковывать или отдельную директорию repositories и там UsersRepository и тп создавать классы?
Конкретно в yii2 обычно такое не делают, тк есть AR и выборки можно делать на уровне сервисов/контроллеров. Но в теории да, ничего не мешает создать папку repositories и в ней хранить запросы. Можно у Елисеева посмотреть в гугле "Реализация репозитория с AR yii2"
не надо слушать елисеева
Отдельно репозитории - нарушит принятый в Yii2 паттерн ActiveRecord. Он сейчас считается антипаттерном, но тем не менее это официальный подход фреймворка и тут дело каждого - выбирать, что лучше. Стандартный подход Yii2 с выделением БД-specific части - это классы *Query к модели. User и UserQuery, где будут описаны дополнительные условия выборки. Что-то типа scope в ларавеле.
ну какие-то штуки для запросов иметь нужно, а иногда для сложной записи
Я такое больше в сервисы выношу. Не потому что против репозиториев, а просто чтоб не ломать.
ну вот да, тот же сервис (плохое название)
Обсуждают сегодня