Пример
Стандартный пример 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, которые находятся в таблице связей?
Какие существуют стандартные решения этой задачи и как бы вы это реализовали?