Eloquent属于ToMany withPivot mapping

时间:2016-05-13 18:06:19

标签: php database laravel eloquent pivot

我继承了4个MySQL表:


-id
-description
...

地点
-id
-listing_id


-id
-name
....

guide_location
-id
-guide_id
-location_id

列出=>(很多)地点
指南=>(很多)地点=>(1)列表

列表,位置和指南每个都是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 中添加了一个列,当我从数据库中选择一个指南时,我希望将其返回。

现在:

guide_location
-id
-guide_id
-location_id
- 位

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

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

希望这有助于其他人。