首页 > 解决方案 > 使用 Laravel Eloquent ORM 连接另外四个表

问题描述

我在产品表中有一个类别 ID、颜色 ID、尺寸 ID、品牌 ID。如何使用 Eloquent ORM 关联所有表?我想在产品控制器中编写一个查询并将所有数据带入表中。如果没有查询生成器,我怎么能做到这一点?

标签: phplaraveleloquent

解决方案


您需要在产品模型中建立关系。

class Product extends Model
{
    public function category()
    {
        return $this->belongsTo('App\Category','category_id','id');
    }

    public function color()
    {
        return $this->belongsTo('App\Color','color_id','id');
    }
    public function size()
    {
        return $this->belongsTo('App\Size','size_id','id');
    }
    public function brand()
    {
        return $this->belongsTo('App\Brand','brand_id','id');
    }
}

现在在控制器中你可以得到如下。

$products = Product::with(['category','color','size','brand'])->get();

推荐阅读