Народ, а вот есть такая практика, что запросы в бд

и всякие выборки хранят в *Repository классах.

А как в yii2 корректно такое сделать? трейты к модели пристыковывать или отдельную директорию repositories и там UsersRepository и тп создавать классы?

6 ответов

5 просмотров

Конкретно в yii2 обычно такое не делают, тк есть AR и выборки можно делать на уровне сервисов/контроллеров. Но в теории да, ничего не мешает создать папку repositories и в ней хранить запросы. Можно у Елисеева посмотреть в гугле "Реализация репозитория с AR yii2"

Отдельно репозитории - нарушит принятый в Yii2 паттерн ActiveRecord. Он сейчас считается антипаттерном, но тем не менее это официальный подход фреймворка и тут дело каждого - выбирать, что лучше. Стандартный подход Yii2 с выделением БД-specific части - это классы *Query к модели. User и UserQuery, где будут описаны дополнительные условия выборки. Что-то типа scope в ларавеле.

⁣Scarab Scarab
Отдельно репозитории - нарушит принятый в Yii2 пат...

ну какие-то штуки для запросов иметь нужно, а иногда для сложной записи

сырный продукт
ну какие-то штуки для запросов иметь нужно, а иног...

Я такое больше в сервисы выношу. Не потому что против репозиториев, а просто чтоб не ломать.

⁣Scarab Scarab
Я такое больше в сервисы выношу. Не потому что про...

ну вот да, тот же сервис (плохое название)

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Привет. На сайте с видео установлена защита, не позволяющая скачивать видео, делать скриншоты и скринкасты, но это работает только с пк и устройств эпл. С андроида работают ск...
Lencore
1
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Карта сайта