Laravel Eloquent 将变量传递给关系函数

2024-03-07

我正在使用 eloquent 来查询数据库条目及其对应关系。问题是我需要通过$date关系中的变量query如下图所示:

我可以通过$date变量到第一个查询,因为它不在 with 函数内。我怎样才能用第二个来实现这个目标?

Query

    public static function find_task($type, $date) {
    if($type == 'student') {
        $mySid = Student::student_id();
        $allTasks = TaskAssignment::where('student_id', $mySid)
            ->with('task')
            ->where('dueDate', $date)
            ->orderBy('dueDate', 'asc')
            ->get();

    } elseif($type == 'teacher') {
        $myTid = Teacher::teacher_id();
        $allTasks = Tasks::where('teacher_id', $myTid)
            ->with(['assignment' => function ($query) {
                $query->where('dueDate', $date);
                $query->orderBy('dueDate', 'asc');

            }])->get();
    } else {
        return 'error this page does not exist';
    }

    return $allTasks;
}

Use use在闭包中

->with(['assignment' => function ($query) use ($date){
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel Eloquent 将变量传递给关系函数 的相关文章

随机推荐