QueryBuilder 的 Mysql JOIN 错误

标签 mysql laravel-query-builder

我有一个问题!这是我的代码:

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 variable :threader_id 不知道为什么,因为当我尝试 return $threader_id; 时,它会返回值。 任何想法?谢谢

最佳答案

正确的做法:

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

关于QueryBuilder 的 Mysql JOIN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716474/

相关文章:

mysql - Codeigniter + Doctrine 和太多 mysql 连接

python - pip3 install mysql-python 失败,错误代码为 1 in/tmp/pip-install-4nev4id4/mysql-python/

php - 如何展平 laravel 递归关系集合(树集合)?

php - Laravel 5.8 尝试从数据库中查询阿拉伯语记录

php - 使用数组过滤记录 - Laravel

php - laravel 未定义属性:stdClass::$

php - 优化具有多个属于它的记录的记录的创建

php - 显示数据库中存储的 url 中的照片

php - 检查两个日期不在两个另一个日期之间 + MYSQl

php - 在 Laravel 中批量更新具有不同值的表 [设置]