2017-01-18 6 views
1

質問があります!私はエラーを得たQueryBuilderのMysql JOINエラー

public static function getMessages($threader_id){ 
     $messages = DB::table('messages_messages') 
      ->join('messages_participants', function ($join) { 
       $join->on('messages_participants.id_message', '=', 'messages_messages.id') 
        ->where('messages_participants.id_threader', '=', $threader_id); 
       }) 
     ->get(); 
     return $messages; 
} 

:未定義の変数:これは私のコードである 私はreturn $threader_id;その戻りくれ値にしてみてくださいなぜ、beacuseないアイデアthreader_id。 THX

+0

削除 '=' から句。 - >ここで( 'messages_participants.id_threader'、$ threader_id); –

+0

いいえ、まだ同じエラーです:しかし、私が試してみると - >どこ( 'messages_participants.id_threader'、 '='、3);その作業! – Gari

+0

クエリを印刷して、実際のクエリが何であるかを確認できますか。 dd(DB :: getQueryLog()); –

答えて

0

正しい方法:

$messages = DB::table('messages_messages') 
      ->join('messages_participants', function ($join) use ($threader_id) { 
       $join->on('messages_participants.id_message', '=', 'messages_messages.id') 
        ->where('messages_participants.id_threader',$threader_id); 
       }) 
      ->select('messages_messages.*') 
     ->get();