Eloquent belongsToMany withPivot 映射

Eloquent belongsToMany withPivot mapping

我继承了 4 个 MySQL 表:

列表
-id
-描述
...

地点
-id
-listing_id

导游
-id
-姓名
....

guide_location
-id
-guide_id
-location_id

清单=>(许多)地点
指南=>(许多)地点=>(1)列表

Listing、Location 和 Guide 在 Laravel Dingo 应用程序中各有其自身的模型。这是设置:

//Listing model
public function locations()
{
    return $this->hasMany('Location');
}

然后

//Location model
public function guides()
{
    return $this->belongsToMany('Guide');
}
public function listing()
{
    return $this->belongsTo('Listing');
}

//Guide model
public function locations()
{
    return $this->belongsToMany('Location');
}

我在 guide_location 中添加了一列,我想在 select 来自数据库的指南时 return 它。

所以现在:

guide_location
-id
-guide_id
-location_id
-位置

我尝试将 ->withPivot('position') 添加到指南和位置模型中的两个 belongsToMany() 语句,但它不起作用,我没有看到新列。

知道我做错了什么吗?

好的,->withPivot() 正在运行,我只是没有看到结果,因为它在 location.pivot.position,而不是 location.position。阿呆.

希望这对其他人有帮助。