我在学生和部门之间有一个belongsToMany关系。现在我想获取所有部门的 subject_id 为 null 的学生部门。我在下面的代码,但它给了我以下错误
SQLSTATE[23000]: 完整性约束冲突: 1052 where 子句中的列 'id' 不明确 (SQL: select * from
departmentswheresubject_id为 null 且存在 (select * fromstudentsinner joindepartment_studentonstudents.id=department_student.student_idwheredepartments.id=department_student.department_idandid= 16 andstudents.deleted_atis无效的))
$departments=Department::where('subject_id','=',null)
->whereHas('students',function($student){
$student->where('id',Auth::id());
})
->get();
dd($departments);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
您应该指定引用的表名称id以避免歧义。
$departments=Department::where('subject_id','=',null)
->whereHas('students',function($student){
$student->where('student.id',Auth::id()); //Notice the student.id instead of id
})->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8113 次 |
| 最近记录: |