«

laravel orWhere的用法示例

时间:2024-2-18 13:38     作者:韩俊     分类: PHP


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

(1)SQL 语句:

select `id` from `user` where (`email` = 'admin@maopiaopiao.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@maopiaopiao.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();

标签: php php教程

热门推荐