欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > thinkphp教程 >
thinkphp教程

thinkphp5.0 如何使用where or 查询数据库

(元素模板) / 2023-08-11 10:19

thinkphp5.0 如何 使用or 来查询数据呢?
元素模板为您解答
有几种方法可以参考

方法1:whereOr方法

使用whereOr方法进行OR查询:

Db::table('think_user')

->where('name','like','%thinkphp')

->whereOr('title','like','%thinkphp')

->find();

如果有多个也可以这样写

$map1 = [
        ['name', 'like', 'thinkphp%'],
        ['title', 'like', '%thinkphp'],
    ];
    
$map2 = [
        ['name', 'like', 'kancloud%'],
        ['title', 'like', '%kancloud'],
    ];    
    
Db::table('think_user')
    ->whereOr([ $map1, $map2 ])
    ->select();




方法2:使用name|title

多字段相同条件的OR查询可以简化为如下方式:

Db::table('think_user')->where('name|title','like','%thinkphp') ->find();
方法3:使用or
可以在where里面使用or来区分
$where = [
     'feed_uid'     => [ 'eq' , 5] ,
     'status' => [ [ 'eq' , 1] , [ 'eq' , 2 ] ,  [ 'eq' , 3 ] , 'or' ] ,
   ];
 $value = DealSpace::where($where)->count();

最终的查询条件为
where feed_uid=5 and (status=1 or status =2 or status =3 )

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com