• 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】等等

  • 相关阅读:
    页面中使用iframe
    网络地址转换(NAT)(二)
    如何两个不同的脚本文件之间传递参数
    java socket实现代理Android App
    滚动条详解:跨平台iOS、Android、小程序滚动条隐藏及自定义样式综合指南
    Image Super-Resolution via Iterative Refinement 论文解读和感想
    设计模式|状态机模式(State Machine Pattern)
    主流开发语言和开发环境介绍
    C++基础:扩展欧几里得算法
    Nacos中AP和CP 切换
  • 原文地址:https://blog.csdn.net/qq_53457276/article/details/128129142