@golemico

Как получить товары из категории?

У меня есть три таблицы: product - товары, catalog - категории товаров, product_catalog - таблица объединения товаров и категорий.
Подскажите, как на laravel получить товары в выбранной мною категории?
  • Вопрос задан
  • 634 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Batlab
PHP Senior | Python Middle | JS Junior
В product у записей имеется поле, к какой категории они пренадлежат?
Если нету, то делайте.
Ответ написан
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
Вам нужно использовать belongsToMany документация
Ответ написан
Комментировать
@D3lphi
Воспользуемся отношениями. В модель Category добавить метод:

public function products()
{
    return $this->belongsToMany(Prdouct::class, 'product_catalog', 'category_id', 'product_id', 'id');
}


Где Product - модель товаров. 'product_catalog' - так называемая, pivot table (таблица объединения товаров и категорий). 'product_id' - id товара в pivot таблице, 'category_id' - id категории в pivot таблице.

Таким образом, вы сможете получать товары, относящиеся к конкретной категории так:
Categoty::find(1)->products;
Ответ написан
Ваш ответ на вопрос

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

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