• 11月21日:thinkphp查询方法


    查询方法

    使用where方法进行AND查询

    1. public function whereTest(){
    2. //原生sql语句:select id ,name from bro_user where id = 1 or name = "zhangsan";
    3. //推荐使用
    4. $data['id']=['=',1];
    5. $data['username']=['adm%'];
    6. Db::name('user')->where($data)->select();
    7. //官方文档基础写法 //使用where进行AND查询
    8. $result = Db::name("user")
    9. ->where('id','=',1) //where(字段名称,表达式,查询条件)
    10. ->where('username','adm%') //如果where()中第二个条件省略则默认字段名称等于查询条件
    11. ->select();
    12. dump($result);
    13. }

    使用whereOr进行or查询

    1. public function orTest(){
    2. //原生语句:select id ,name from bro_user where id = 1 or name = "zhangsan";
    3. //使用whereOr进行or查询
    4. $result = Db::name('user')
    5. ->where('id','>',1)
    6. ->whereOr('status','normal')
    7. ->select();
    8. dump($result);
    9. }

    使用where和whereOr进行混合查询

    1. public function whereOrTest(){
    2. //混合查询
    3. //原生sql语句:select * from bro_user where(id=1 or id=2) or (username like %admin or username like admin%)
    4. $result = Db::name('user')->where(function ($query){
    5. $query->where('id',1)->whereOr('id',2);
    6. })->whereOr(function ($query){
    7. $query->where('username','like','%admin')->whereOr('username','like','admin%');
    8. })->select();
    9. dump($result);
    10. }

    查询语法

     thinkphp官方文档中的查询语法

     红色为需要记忆的,并且在某些特定条件下不能使用= <>一些符号

    其中特别需要注意的是

    NULL字段

    字段设计时默认为null,且没有进行赋值
    字符串null不能使用isnull进行查询
    默认Null不能使用age=null查询

    链式操作

    言简意赅:我们通常在项目中见到的这种($query->where('username','like','%admin')->whereOr('username','like','admin%');)形式的都是链式操作,明显的标志是【->】

    $result = Db::name('demo')->where('age','=',null)->select();

    需要注意的点:

            有些方法是可以一直进行链式操作的例如【where,whereOr】等等

    但是有些方法只能进行链接一次例如【table,select,limit】等等

  • 相关阅读:
    【vue2 vuex】store state mutations actions状态管理(草稿一留存)
    从零开始写 Docker(十五)---实现 mydocker run -e 支持环境变量传递
    银行排号系统的设计与实现
    [蓝桥杯 2022 省 A] 推导部分和
    STL常用算法——STL
    HTTP Tunnel与后门攻击
    百胜杯答题系统
    Ae 效果:CC Slant
    运动无线蓝牙耳机哪个品牌好、蓝牙运动耳机排行榜10强
    企业微信下班后能收到通知吗?不接收消息怎么设置?
  • 原文地址:https://blog.csdn.net/qq_53457276/article/details/128129142