Laravel 查询生成器 where 和 or where

Posted

技术标签:

【中文标题】Laravel 查询生成器 where 和 or where【英文标题】:Laravel query builder where and or where 【发布时间】:2018-01-03 16:54:04 【问题描述】:

我想构建一个类似这样的查询:

select * from users where id=1 AND address="USA" AND (status="active" OR status="pending")

如何使用 laravel 查询生成器做到这一点?

请帮忙。谢谢!

【问题讨论】:

【参考方案1】:

尝试使用 Laravel 查询构建器查找复杂的查询示例。也许这会有所帮助:

DB::table('users')
    ->where('id', 1)
    ->where('address', 'USA')
    ->where(function($query) 
        $query->where('status', 'active')
            ->orWhere('status', 'pending');
    )->get();

或:

DB::table('users')
    ->where([
        ['id', 1],
        ['address', 'USA'],
    ])
    ->where(function($query) 
        $query->where('status', 'active')
            ->orWhere('status', 'pending');
    )->get();

【讨论】:

以上是关于Laravel 查询生成器 where 和 or where的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 雄辩的 SQL 查询与 OR 和 AND 与 where 子句

Laravel 的数据库查询构建器

Laravel Eloquent Query 使用 WHERE 和 OR AND OR?

Laravel Eloquent Query 使用 WHERE 和 OR AND OR?

Laravel Where 子句 OR

laravel 简单查询生成器(join 和 where 案例)