comm1x
@comm1x
Web-developer

Yii2, как получить данные из таблицы связей при работе с many-many?

Пример
Стандартный пример many-many, клиенты и товары (customers и products), один клиент может купить много товаров, один товар может быть куплен разными клиентами. Соответственно имеем 3 таблицы:
customer, product - модели
customer_has_product - таблица связей с двумя колонками customer_id, product_id

В Yii2 мы настраиваем в модели Customer:
public function getProducts()
{
  return $this->hasMany(Product::className(), ['id' => 'product_id'])
              ->viaTable('customer_has_product', ['customer_id' => 'id'])
              ->all();
}


Аналогично в продуктах, и все работает.

Проблема
Но мы хотим добавить информацию о том, что такой-то клиент имеет такой-то товар в таком-то количестве. И добавляем колонку count в таблицу customer_has_product.
Собственно вопрос заключается в том, как получить вот такие данные как count, которые находятся в таблице связей?
Какие существуют стандартные решения этой задачи и как бы вы это реализовали?
  • Вопрос задан
  • 451 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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