2016-05-07 22 views
0

誰でも私をEloquentに翻訳する手助けはできますか?未処理の複雑なSQLクエリをEloquentに変換する

DB::table('resources') 
    ->leftJoin('links', function($join) { 
    $join->on('links.resource_id', '=', 'resources.id'); 
    $join->where(function($query) { 
     $query->whereNull('links.ud_id'); 
     $query->orWhere('links.ud_id', '=', 7); 
    }); 
    }) 
    ->where('user_id', 1) 
    ->where('subject_id', 4) 
    ->get(); 

答えて

1

この進歩

でいただきありがとうございます。厳密に整理されたちょっとした詳細です。 orWhere( 'links.ud_id'、7)の代わりにorWhere( 'links.ud_id'、 '='、7)に変更する必要がありました。両方とも同等だと思ったが、明らかにこの場合はそうではなかった。ブリリアント、ジェドレーゼ!
+0

パーフェクト:

select * from resources left join links on links.resource_id = resources.id and (links.ud_id IS NULL OR links.ud_id = '7') where resources.user_id = '1' and resources.subject_id = '4' 

は、トリックを行う必要があり – Rodolfo