Php 如何使用一个模型连接三个表
我从来没有学过雄辩。我正在学习API,我希望尽可能快速地获取一些数据,而不必编写sql,我通常会做什么 我有表格:“房子”与“公告”(一对一)相关,“公告”表格与“广告商”(一对多)相关 当我试着Php 如何使用一个模型连接三个表,php,sql,laravel,eloquent,Php,Sql,Laravel,Eloquent,我从来没有学过雄辩。我正在学习API,我希望尽可能快速地获取一些数据,而不必编写sql,我通常会做什么 我有表格:“房子”与“公告”(一对一)相关,“公告”表格与“广告商”(一对多)相关 当我试着 $house = \App\House::where('house_id', $id)->with('announcement', 'advertiser')->first(); 我得到一个错误:公告未定义的方法。 我想我在模型上正确设置了关系,所以我没有在这里包括它们。我
$house = \App\House::where('house_id', $id)->with('announcement', 'advertiser')->first();
我得到一个错误:公告未定义的方法。
我想我在模型上正确设置了关系,所以我没有在这里包括它们。我想使用模型屋加入,因为我在使用Eloquent时没有使用默认连接。with()必须首先放置,并在数组中指定关系(如果加载多个)
编辑:
对不起,我没有看到它是嵌套关系
您可以使用此代码而不是上面的代码:
$house = \App\House::with(['announcement', 'announcement.advertiser'])->where('house_id', $id)->first();
对于嵌套关系,请使用类似点的announcement.advertiser
$house=App\house::with(['announcement','announcement.advertiser'])->where('house\u id',$id)->first()代码>生成的BadMethodCallException:调用未定义的方法Illumb\Database\Query\Builder::advertiser()My bad,它似乎是一个嵌套关系。我编辑了我的帖子。
$house = \App\House::with(['announcement', 'announcement.advertiser'])->where('house_id', $id)->first();