Laravel:通过另一个 table 从具有关联 table 的 table 检索记录
Laravel: Retrieve records from a table with an associated table via another table
这是我的问题。
我有 3 个表:
- 预订(id,spot_id,...)
一个预订有一个名额,一个名额有多个预订
- spots (id, place_id,...)
一个地方有一个地方,一个地方有多个地方
- 地方(id,...)
而我想要的是从 BookingController 得到
包含相关地点的预订列表
类似的东西:
Booking::where("ok",1)->with("place")->get();
我已经在所有三个模型中拥有“hasMany”和“belongsTo”关系。我已经在预订模式中尝试了“hasOneThrough”,但无济于事。
我该怎么做谢谢。
如果您始终希望将地点包含在预订模型中,您可以将它们添加为属性:
namespace App\Models;
class Booking{
public $appends = ['places'];
public function getPlacesAttribute()
{
return $this->hasMany(Place::class);
}
}
现在您可以直接从预订 class 访问地点,例如 $booking->places
这是我的问题。
我有 3 个表:
- 预订(id,spot_id,...)
一个预订有一个名额,一个名额有多个预订
- spots (id, place_id,...)
一个地方有一个地方,一个地方有多个地方
- 地方(id,...)
而我想要的是从 BookingController 得到 包含相关地点的预订列表
类似的东西:
Booking::where("ok",1)->with("place")->get();
我已经在所有三个模型中拥有“hasMany”和“belongsTo”关系。我已经在预订模式中尝试了“hasOneThrough”,但无济于事。
我该怎么做谢谢。
如果您始终希望将地点包含在预订模型中,您可以将它们添加为属性:
namespace App\Models;
class Booking{
public $appends = ['places'];
public function getPlacesAttribute()
{
return $this->hasMany(Place::class);
}
}
现在您可以直接从预订 class 访问地点,例如 $booking->places