如何在Laravel 5.6中从数据透视表中的多对一关系中获取数据

时间:2019-02-19 09:18:32

标签: laravel laravel-5 laravel-5.6

我有3个表名,例如"product""user""product_type",因此在我的情况下, user和product_type具有多对多关系 user和具有一对多关系的产品具有一对一关系的产品和产品类型

我为用户和product_type创建一个数据透视表。在该数据透视表中,我又添加了一列进行说明。因此,在产品列表页面中,我需要显示该数据透视表中的描述。

我的代码如下:

Product::with('user)->with('product_type')->get();

1 个答案:

答案 0 :(得分:0)

要从数据透视表中获取其他字段,您需要在模型的功能中使用withPivot,如下所示:

public function product_type() {
      return $this->belongsToMany('App\Product','product_type','product_id','user_id')->withPivot('column1', 'column2');
    }

您也可以参考laravel文档:

https://laravel.com/docs/5.7/eloquent-relationships