很长一段时间我一直没有使用laravel,我很喜欢获取一些数据。
我试图从比赛中获得所有博彩公司,但没有得到:
分贝:
leagues:
-id
-name
league_bookmakers:
- id
- league_id
- bookmaker_id
bookmakers:
- id
- name
控制器:
$example = \App\League::find(440);
dd($example->bookmakers());
模特联盟:
public function bookmakers()
{
return $this->hasMany(LeagueBookmaker::class);
}
答案 0 :(得分:1)
你有什么收获?你收到空集吗? 如评论所述,尝试这样做
dd($example->bookmakers);
另外,首先尝试dd($example)
,然后查看其中是否包含bookmakers
集合属性。
答案 1 :(得分:1)
当您在模型($example->bookmakers()
)上调用关系方法时,它会返回实际关系,允许您添加其他约束。
你需要调用的是'动态属性',它只是按原样返回关系中的数据:
$example->bookmakers // without the ()
答案 2 :(得分:0)
当您与league_bookmakers表关联时,您将无法直接获得博彩公司的数据。在这种情况下,您可以定义belongsToMany Relation,如下面的代码 -
public function bookmakers()
{
return $this->belongsToMany(Bookmaker::class, 'league_bookmakers','league_id', 'bookmaker_id');
}
它将直接返回预订者表信息。