Задать вопрос

Как сделать связь иерархическую между моделями в yii2?

Есть модель category
Есть модель subcategory
Есть модель каталога content
Как в gridview получить доступ к модели category, причем в основе вывода записей лежит модель content?
Связи между моделями такие: модель category имеет связь один ко многим к subcategory, subcategory к content.

******** добавление
В итоге разобрался что необходимо делать через viaTable

public function getCategory(){
return $this->hasOne(DataCategory::className(), ['id_category' => 'category'])
->viaTable('data_subcategory', ['id_subcategory' => 'subcategory']);
}

Но возникла другая проблема, теперь при вызове в gridview 'category.category_name',
он мне на каждую запись делает 2 запроса - один к таблице "category", второй к таблице "subcategory"
SELECT * FROM `data_subcategory` WHERE `id_subcategory`=1
SELECT * FROM `data_category` WHERE `id_category`='1'
Как это побороть?
  • Вопрос задан
  • 198 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@azazel_live Автор вопроса
Подскажите как побороть массовые запросы в механизме viaTable
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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