如何选择具有多个关系的实例?

时间:2015-03-14 15:06:08

标签: laravel eloquent laravel-5

我有一些模型Featured_Course_RequestCourse_RequestResponseTeacherFeatured_Course_Request hasOne Course_Request Course_RequesthasMany Response Teacher $featured_course_request = Featured_Course_Resquest::whereRaw('remaining_coins >= coins_per_click')->where('status', '=', 'open') ->whereHas('courseRequest', function($q) use ($teacher){ $q->whereHas('responses', function($qe) use ($teacher){ $qe->where('teacherID', '!=', $teacher->id); }); });

我想获得唯一一个已登录教师未响应的Featured_Course_Requests(登录教师没有响应。)我该怎么办?

我正在尝试使用以下代码实现它,但它没有提供正确的输出。

{{1}}

1 个答案:

答案 0 :(得分:1)

您可以使用点语法定位嵌套关系:'courseRequest.responses'您需要更多whereDoesntHave而不是whereHas

$featured_course_request = Featured_Course_Resquest::whereRaw('remaining_coins >=  coins_per_click')
    ->where('status', '=', 'open')
    ->whereDoesntHave('courseRequest.responses', function($q) use ($teacher){
        $qe->where('teacherID', '=', $teacher->id);
    })
    ->get();