thinkphp——Db类运用——查询方法详解

常用的查询方法

find()方法

1,find 方法,查询多条记录,也只返回第一条
2,查询单条数据,返回一维数组
1. 根据主键查找
$arr=Db::table('learn')->find(1);
        dump($arr);
2.带条件的查询
first
$arr=Db::table('learn')
            ->where("name","你好么")
            ->find();
        dump($arr);
second
$arr=Db::table('learn')
            ->where(['name'=>'Aring'])  //数组情况下,用=> 代替, 表示like
            ->find();
        dump($arr);
3.多条件查询
first:多条件查询,数组方法
$arr=Db::table('learn')
            ->where(['id'=>'5','name'=>'蠢东西'])
            ->find();

ps:
数组方法,=>是like和=意思。
查询中,数字不需要加括号,字符串用‘’

second:多条件查询,多个where方法==>默认连接是and
$arr=Db::table('learn')
            ->where('name','蠢东西')
            ->where('title','61' )
            ->find();
third:多条件查询,or方法
$arr=Db::table('learn')
            ->where('name','蠢东西')
            ->whereOr('name','Aring')
            ->find();
fourth:多条件查询:大于号>使用————小于号<类似
$arr=Db::table('learn')
            ->where('id','>','3')
            ->find();

其他查询方法总结:

select()方法

select 可以查询多条语句,返回二位数组
多条件查询:
$arr=Db::table('learn')
           ->where('title','<','65')
           ->where('id','>','3')
           ->select();

wheretime时间为条件的,查询

public function time(){
      $arr= Db::table('learn')
           ->whereTime('time','2020-1-12')
           ->select();

聚合查询

统计,总和,最大,最小,平均

public function juhe(){
       //统计数量
       //echo Db::table("learn")->count();

        //最大值
       //echo Db::table("learn")->max('title');

       //最小值
        //echo Db::table("learn")->min('title');

        //平均值
       echo Db::table("learn")->avg('title')."<br/>";
       //<br/>换行

        //总和
        echo Db::table("learn")->sum('title');
   }

链式查询操作

public  function   lianshi(){
      /* $arr=Db::table('learn')
            ->where('id','>','2')
           ->order('title')    //默认升序  写desc降序
           ->limit(2)
           ->select();//最后操作*/


      //根据分类查询
        $arr=Db::table("learn")
            ->field("pic,max(title)")//查询字段
            ->group('pic')
            ->select();

       dump($arr);
    }

子查询 ==>嵌套查询

function zichaxun(){
       $arr=Db::table('learn')
           ->where('id','>','2')
           ->buildSql();

       $arr1=Db::table($arr.'a')        //a是$arr查询出来表的别名
            ->where('a.title','>',100)      //任何关于数字,都别带引号
           ->select();

       dump($arr1);
    }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值