Laravel:通过另一个表从具有关联表的表中检索记录
Posted
技术标签:
【中文标题】Laravel:通过另一个表从具有关联表的表中检索记录【英文标题】:Laravel: Retrieve records from a table with an associated table via another table 【发布时间】:2022-01-16 20:40:35 【问题描述】:这是我的问题。
我有 3 张桌子:
-
预订(id、spot_id、...)
一个预订有一个位置,一个位置有多个预订
-
景点(id、place_id、...)
一个地方有一个地方,一个地方有多个地方
-
地点(ID,...)
我想要的是从 BookingController 获取 带有相关地点的预订列表
类似的东西:
Booking::where("ok",1)->with("place")->get();
我已经在所有三个模型中都有“hasMany”和“belongsTo”关系。而且我已经在预订模式中尝试过“hasOneThrough”,但无济于事。
我该怎么做谢谢。
【问题讨论】:
【参考方案1】:如果您总是希望将地点包含在预订模型中,您可以将它们添加为属性:
namespace App\Models;
class Booking
public $appends = ['places'];
public function getPlacesAttribute()
return $this->hasMany(Place::class);
现在您可以直接从预订类访问地点,例如 $booking->places
【讨论】:
以上是关于Laravel:通过另一个表从具有关联表的表中检索记录的主要内容,如果未能解决你的问题,请参考以下文章
如何从没有关系laravel 8的另一个表中检索具有多行的行数据
oracle 中如何将一张500万数据的表从一个库快速转移到另外一个库