Извините, если такой вопрос уже есть. Начал изучать yii2. В документации приведен такой пример many-to-many:
class Order extends \yii\db\ActiveRecord
{
public function getItems()
{
return $this->hasMany(Item::className(), ['id' => 'item_id'])
->viaTable('order_item', ['order_id' => 'id']);
}
}
Объясните, пожалуйста, куда и что вставлять, я о вторых параметрах (массивах) в методах.
Допустим у меня таблица category(id, name), таблица product(id, name) и таблица product_to_category(id, product_id, category_id). Как мне выбрать все товары из определенной категории?
Пробую так: Создал 2 модели Product и Category.
В Category создал метод:
public function actionProducts()
{
return $this->hasMany(Product::className(), ['id' => 'product_id'])
->viaTable('product_category', ['id' => 'category_id']);
}
Теперь в контроллере пишу:
$category = Category::findOne(1);
$products = $category->actionProducts();
Возвращается объект со списком категорий. Объясните, пожалуйста, какой и куда id подставлять, чтоб получить товары из одной категории?