2016-11-12 4 views
1

ネストされたクエリを持つ大きなクエリがあります。私はそれが混乱しないようにそれを書く方法を知りたいです。私が試した作成されたクエリは、Laravelで大きなネストされたクエリを分割する

//get the latest joined employee per department 
$q1 = Employee::where('job', 'assistant') 
        ->groupBy('dept_id') 
        ->select(DB::raw('MAX(empid) as empid')); 
//fetch his course ID 
$q2 = Employee::whereIn('empid', function($query){ 
              $query->$q1; 
             }) 
        ->where('university', 'LIKE', '%UCLA%') 
        ->select('course_id') 
        ->distinct() 
        ->get()->lists('course_id'); 

が、私はこのエラー、私はそれをどのように行う必要があります

[Symfony\Component\Debug\Exception\FatalThrowableError] 
    Cannot access empty property 

を取得していますオブジェクト?

答えて

0

あなたはこの方法でそれを実行する必要があります。それはそうのような、useで可能です

$q1 = Employee::where('job', 'assistant') 
       ->groupBy('dept_id') 
       ->select(DB::raw('MAX(empid) as empid')); 

$q2 = Employee::whereIn('empid', function($query) use($q1) { 
             $query->where('id', $q1); // <---- Do it like this 
            }) 
       ->where('university', 'LIKE', '%UCLA%') 
       ->select('course_id') 
       ->distinct(); 

これが役立つことを願っています!

関連する問題