我有3个桌子&模型:
1) product
-----------
id, name, c_id, sku
2) category
----------
id, name, parent_c_id
3) parent_category
-----------------
id, name
如何使用雄辩关系获取类别和父类别的产品详细信息?
答案 0 :(得分:0)
Eloquent让您定义模型类中模型/表之间的关系。要定义模型具有外键,可以使用belongsTo
来定义模型属于另一个模型。
// Product.php
public function category()
{
return $this->belongsTo('App\Category');
}
// Category.php
public function category()
{
return $this->belongsTo('App\ParentCategory');
}
Eloquent将在数据库表中查找名为<lowercase modelname>_id
的列。对于Product
而言category_id
,Product
属于 Category
。
如果您不想更改列名,可以将外键定义为第二个参数:
return $this->belongsTo('App\Category', 'c_id');
您可以在Laravel Docs
中了解这些关系更新#1
看起来我误解了你的问题,所以基于你的评论,我认为这应该有效:
Product::with('category')
->with('category.parent_category')
->get();