2016-04-04 40 views
0

Ich verwende eloquent, um eine Abfrage für einen Datenbankeintrag und seine entsprechende Beziehung zu machen. Das Problem ist, ich muss die $date Variable in die Beziehung query wie unten gezeigt übergeben:Laravel Eloquent pass Variable mit Beziehung Funktion

Ich kann die Variable $date an die erste Abfrage übergeben, weil es nicht innerhalb einer mit der Funktion ist. Wie kann ich das mit dem zweiten erreichen?

Abfrage

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

Antwort

4

Verwendung use im Verschluß

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

Verwandte Themen