Красноречивые отношения laravel

У меня 3 стола

категории

  • id
  • имя

category_product

  • id
  • category_id
  • идантификационный номер продукта

и таблица продуктов

продукты

  • id
  • имя

Мне нужны продукты, основанные на catergori_id, как я могу это сделать с помощью laravel Eloquent?


person user3175790    schedule 13.11.2014    source источник
comment
Вы уже создали модели?   -  person user2094178    schedule 14.11.2014
comment
Да, но я не знаю, как запрашивать данные из таблицы продуктов с помощью category_id.   -  person user3175790    schedule 14.11.2014


Ответы (1)


Вот так просто:

Product::whereCategori_id($category)->get();
person Jazerix    schedule 14.11.2014
comment
Спасибо за Ваш ответ. Вы имеете в виду это? Продукт :: где ('Category_id', '=', $ category_id) - ›get (); какие отношения мне тогда следует использовать? один ко многим? - person user3175790; 14.11.2014
comment
что делает то же самое да. Поскольку продукт принадлежит к категории, вы должны использовать отношение ownTo :) - person Jazerix; 15.11.2014
comment
$ products = DB :: table ('products') - ›leftJoin ('category_products', 'products.id', '=', 'category_products.product_id') -› where ('category_products.category_id', '=', '1') - ›get (); работал :) - person user3175790; 17.11.2014
comment
Я получаю эту ошибку с вашим решением. SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'category_id' в 'where clause' (SQL: выберите * из products, где category_id = 1) - person user3175790; 17.11.2014