Считаю вполне уместным код во вьюхах:
... = Category::find()
->selectFormattedName()
->enabled()
->indexBy('id')
->orderBy('name')
->column();
По сути, это вызов процедур selectFormattedName(), enabled().
Названия полей id, name меняться не будут. Зачем это все выносить? На мой взгляд, будет ненужное усложнение.
Просьба поделится опытным по этому поводу.
Доступ к данным из view
Re: Доступ к данным из view
Я бы все такие выборки вынес в отдельный класс Репозитория как мы обсуждали тут.
Чтобы :
- все выборки были в одном месте
- иметь возможность назвать метод как то осмысленно, кто сейчас догадается для чего эта выборка?
- вьюхи не зависели от БД.
Чтобы :
- все выборки были в одном месте
- иметь возможность назвать метод как то осмысленно, кто сейчас догадается для чего эта выборка?
- вьюхи не зависели от БД.
Yii2 universal module sceleton - for basic and advanced templates
Re: Доступ к данным из view
Ого, там смотреть и смотреть...
Спасибо за ответ, обязательно почитаю...
- все выборки были в одном месте
выборок бывает очень много, не получится ли каша?
- иметь возможность назвать метод как то осмысленно, кто сейчас догадается для чего эта выборка?
разве Category::find()->selectFormattedName()->enabled() не дают осмысленное название?
- вьюхи не зависели от БД.
по моему зависимость от базы внутри Category::find(), или что-то другое имеется ввиду?
Спасибо за ответ, обязательно почитаю...
- все выборки были в одном месте
выборок бывает очень много, не получится ли каша?
- иметь возможность назвать метод как то осмысленно, кто сейчас догадается для чего эта выборка?
разве Category::find()->selectFormattedName()->enabled() не дают осмысленное название?
- вьюхи не зависели от БД.
по моему зависимость от базы внутри Category::find(), или что-то другое имеется ввиду?
Re: Доступ к данным из view
Там все смотреть не надо.
То черновой вариант, первая версия. Вы только про репозиторий посмотрите.
- можно же разные репозитории заводить. Каша - это когда во вьюхах кучи непонятных выборок
- Осмысленное название - это чтобы не программист понял что тут выводится
- Ну весь вот этот код построения запроса написан на уровне работающем с БД - orderBy, column...
То черновой вариант, первая версия. Вы только про репозиторий посмотрите.
- можно же разные репозитории заводить. Каша - это когда во вьюхах кучи непонятных выборок
- Осмысленное название - это чтобы не программист понял что тут выводится
- Ну весь вот этот код построения запроса написан на уровне работающем с БД - orderBy, column...
Yii2 universal module sceleton - for basic and advanced templates