Mysql QueryBuilder 加入错误

Mysql JOIN error with 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;
}

我得到 error:Undefined 变量:threader_id 不知道为什么,因为当我尝试 return $threader_id; 它 return 我的价值。 任何的想法?谢谢

正确的方法:

$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();