美文网首页
laravel的leftJoin多个where条件

laravel的leftJoin多个where条件

作者: xudong7930 | 来源:发表于2020-03-19 11:23 被阅读0次

通常情况下我们在做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);
    })

相关文章

  • laravel的leftJoin多个where条件

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

  • php laravel左连接leftJoin多条where语句

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

  • 数据库SQLite基本用法(二)

    Where 子句 关键字: WHERE SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。...

  • Java代码提升小技巧

    一、MyBatis 不要为了多个查询条件而写 1 = 1 当遇到多个查询条件,使用where 1=1 可以很方便的...

  • sql92和sql99等值连接的差异

    sql 92中,多个查询的表在from后边,使用逗号连接查询条件在where后边,多个连接条件使用and连接 sq...

  • java sql分组函数

    优先级:select 分组函数 from 表 where 条件 group by 多个字段 having 条件 o...

  • SQLite Where 子句

    SQLite Where 子句 SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。 如果满...

  • MySQL优化:单索引的选择-index_merge

    1.多个单索引 where子句后有多个查询条件,MySQL 5.1以前即使分别为每个条件建立索引,查询优化器也只会...

  • laravel where(DB::raw)出现is null

    原文链接 laravel whereRaw 和 where(DB::raw('')) 用where(DB::raw...

  • hive相关

    HQL优化 1. HQL优化 一、避免or操作的不当。如果where子句中有多个条件,并且其中某个条件没有索引,使...

网友评论

      本文标题:laravel的leftJoin多个where条件

      本文链接:https://www.haomeiwen.com/subject/nhbkyhtx.html