访问Laravel中的多级关系

时间:2018-10-29 13:55:53

标签: php laravel

有人可以帮助我从laravel中的多层次关系中获取数据吗?

我想做类似的事情 BagageAnnouncement->公告->用户->个人资料->“字段名称”

 $data = $request->text;


     $filter = BagageAnnouncement::whereHas('announcement',function ($query) {
    })->whereHas('user', function ($query) {
    })->whereHas('profile',function($query){
        $query->where('level',$data)
})->get();

2 个答案:

答案 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

当然,您需要首先在模型中建立关系。