2016-04-04 5 views
0

Я использую красноречие, чтобы сделать запрос для записи в базе данных, и это соответствующие отношения. Проблема в том, мне нужно передать переменную $date в отношения query, как показано ниже:Laravel Eloquent передать переменную с функцией отношения

я могу передать переменную $date на первый запрос, потому что его не внутри с функцией. Как я могу достичь этого со вторым?

Запрос

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; 
} 

ответ

4

Использование use замыканию

->with(['assignment' => function ($query) use ($date){

Смежные вопросы