您现在的位置是:首页 > 经验记录>Laravel日记>laravel左连接leftJoin多条where语句 网站首页 Laravel日记

laravel左连接leftJoin多条where语句

通常情况下我们在做leftjoin连接时需要对不止一个条件进行进行匹配,这时候就需要使用闭包方式,如下:


leftjoin('db', function ($join) {···});

leftjoin多条件查询,无非以下三种情况。


并且关系(&&)且为字段名称,使用on,代码示例如下:

$roomUuid = 1;

$chatInfo = DB::table('chat_info')

    ->where('chat_info.room_uuid', $roomUuid)

    ->leftJoin('user_rooms', function ($join) {

        $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid')

            ->on('user_rooms.room_uuid', '=', 'chat_info.room_uuid');

    })

或者关系(||),将on改为orOn,代码示例如下:

$roomUuid = 1;

$chatInfo = DB::table('chat_info')

    ->where('chat_info.room_uuid', $roomUuid)

    ->leftJoin('user_rooms', function ($join) {

        $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid')

            ->orOn('user_rooms.room_uuid', '=', 'chat_info.room_uuid');

    })

多条件查询,使用where,并使用use传递参数,代码示例如下:

$roomUuid = 1;

$chatInfo = DB::table('chat_info')

    ->where('chat_info.room_uuid', $roomUuid)

    ->leftJoin('user_rooms', function ($join) use ($chatInfo) {

        $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid')

            ->where('user_rooms.room_uuid', '=', $chatInfo);

    })

原文地址:http://www.fidding.me/article/40

————————————————

版权声明:本文为CSDN博主「lxw1844912514」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lxw1844912514/java/article/details/100027847


文章评论

未开放
Top