@galithr

Как быть с зависимыми данными в контроллере?

Допустим есть две ActiveRecord
1. Описывающая таблицу брендов(brand) c структурой
- id
- name
2. Описывающая таблицу товаров (product) с структурой
- id
- name
- brand_id

Есть страница добавления товаров на которой пользователь вводить название товара и выбирает соответствующий бренд из селекта.
Собственно вопрос: где стоит формировать список брендов для селекта? в контроллере и проталкивать его по всем необходимым view? Но тогда получается что контроллер отвечающий за работу товаров будет зависеть от AR брендов, что вроде тоже не очень хорошо. А в случае если таких зависимостей будет 10-ток то контроллер станет сильно жирным и превратиться в кучу зависимостей... как быть?

P.S. это лишь пример что бы передать суть вопроса, интересуют способы решения подобных ситуаций
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Метод, который будет отвечать за вывод брэндов, пишите в модели брэндов.
В представлении обратиться можно так:
<?= $form->field($brand, 'name')->dropDownList(Brand::addBrandName()) ?>

В модели брэндов метод может выглядеть так:
public static function addBrandName()
{
   // тут запрос к базе на получение всех названий брэндов
}


p.s. Подключается модель брэндов как обычно через use

use app\models\Brand

p.s.s Так же позаботьтесь прописать связь между таблицами в моделях через hasOne() или hasMany()
подробней здесь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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