有人可以帮助我从laravel中的多层次关系中获取数据吗?
我想做类似的事情 BagageAnnouncement->公告->用户->个人资料->“字段名称”
$data = $request->text;
$filter = BagageAnnouncement::whereHas('announcement',function ($query) {
})->whereHas('user', function ($query) {
})->whereHas('profile',function($query){
$query->where('level',$data)
})->get();
答案 0 :(得分:1)
谢谢大家的回答,我终于找到了解决方案
$data = $request->text;
$filter = BagageAnnouncement::whereHas(
'announcement.user.profile',
function ($q2) use ($data) {
$q2->where('level',$data);
}
)->get();
答案 1 :(得分:0)
不确定要获得的结果是什么,但是如果要获得单个结果,可以这样做:
$bagage = BagageAnnouncement::where(specify_your_condition)->first();
$filter = $bagage->user->profile->name_of_the_field;
如果要获取结果数组,请将first()
更改为get()
并使用foreach
当然,您需要首先在模型中建立关系。