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
。阿呆.
希望这对其他人有帮助。
我继承了 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
。阿呆.
希望这对其他人有帮助。