laravel orWhere的用法示例

 
更多

laravel框架下 where 条件查询很简单,这里就不写了,这里主要记录一下平常不怎么用的 orWhere 多条件 or 查询语句的拼接,示例如下:

(1)SQL 语句:

select `id` from `user` where (`email` = 'admin@phpernote.com' and `password` = '123456') or (`mobile` = '13681127231' and `password` = '123456');

laravel model 语句:

User::select(['id'])
    ->where(function ($query) use ($userName, $password) {
        $query->where('password', '=', '123456')->where('email', '=', 'admin@phpernote.com');
    })
    ->orWhere(function ($query) use ($userName, $password) {
        $query->where('password', '=', '123456')->where('mobile', '=', '13681127231');
    })
    ->first();

(2)SQL 语句:

select count(*) from `user` where `type` = 1 and `valid_type` = 2 and (`valid_end` < 1560738570 or `valid_begin` > 1560738570);

laravel model 语句:

$model = User::where('type', 1)->where('valid_type', '=', 2)->where(function ($query) {
    $query->where('valid_end', '<', 1560738570)->orWhere(function ($query) {
        $query->where('valid_begin', '>', 1560738570);
    });
})->first();

(3)SQL 语句:

select count(*) from `user` where `valid_type` = 2 or (`valid_type` = 3 and (`valid_end` < 1560738570 or `valid_begin` > 1560738570));

laravel model 语句:

$model = User::where(function ($query) {
    $query->where('valid_type', 2);
})->orWhere(function ($query) {
    $query->where('valid_type', '=', 3)->where(function ($query) {
        $query->where('valid_end', '<', 1560738570)->orWhere(function ($query) {
            $query->where('valid_begin', '>', 1560738570);
        });
    });
})->first();
打赏

本文固定链接: https://www.cxy163.net/archives/3371 | 绝缘体

该日志由 绝缘体.. 于 2019年06月15日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: laravel orWhere的用法示例 | 绝缘体
关键字: , , , ,

laravel orWhere的用法示例:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter