Как связать независимые таблицы в yii2?

Есть 3 модели:
  • Продукт (id, category_id, manufacturer_id)
  • Категория (id, name)
  • Производитель (id, name)

Я хочу, чтобы на странице "Категории" выводилась таблица с продуктами, входящими в эту категорию.

Получить список продуктов я смог (Category.php)
public function getProducts()
    {
        return $this->hasMany(Product::className(), ['category_id' => 'id']);
    }

Но как мне теперь получить производителя, если в модели Product у меня храниться только id производителя?
И как мне потом это вывести?
Спасибо!

P.S. Нашёл что-то про Via и ViaTable, но так и не получилось их связать.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
public function getManufactures()
{
    return $this->hasMany(Manufacturer::className(), ['id' => 'manufacturer_id'])
        ->viaTable('products');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы