2017-01-18 2 views
1

У меня есть вопрос! Это мой код:Ошибка Moyql JOIN с QueryBuilder

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

Я получил сообщение об ошибке: Undefined переменной: threader_id Не знаю почему, beacuse когда я пытаюсь return $threader_id; его возвращения мне значение. Любая идея? Thx

+0

Remove '=', откуда пункт. -> где ('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(); 
Смежные вопросы