Laravel - 使用 "with" 和 "where" 子句查询 select

Laravel - query to select with "with" and "where" clause

我有以下内容:

public function filterStudentsByDateOfInterview($interview_date)
{
    //return students with the day of interview:

     $students = Students::with('interviews')
         ->where('interviews.interview_date', $interview_date) //this returns me an error
         ->get();

    return $students;
}

我的问题如下: 我怎样才能在采访栏上发表 where 声明?如果我不通过 where 语句,则有效。但我只需要获取日期等于我的函数参数的数据。

错误吧returns我:

Unknown column 'interviews.interview_date' in 'where clause'

提前致谢!

你可以这样传递回调函数

public function filterStudentsByDateOfInterview($interview_date)
{
    //return students with the day of interview:

     $students = Students::whereHas('interviews' ,function($query) use($interview_date){
        $query->where('interview_date', $interview_date);
     })->get();
         

    return $students;
}