thinkphp5 的Db查询用法

模糊搜索2个或多个字段,只要字段里面包含其中数据即可搜索出来

        $where['core|ltd_name'] = ['like','%'.$key.'%'];
       
        $list = Db::name('ltd')
                ->where($where)
                ->where('siteswitch','1')//可以关联其他字段
                ->where('uid','>',0)//或者判断大于多少
                ->select();

 

 

使用getTableInfo可以获取表信息,信息类型 包括 fields,type,bind,pk,以数组的形式展示,可以指定某个信息进行获取

// 获取`think_user`表所有信息
Db::getTableInfo('think_user');
// 获取`think_user`表所有字段
Db::getTableInfo('think_user', 'fields');
// 获取`think_user`表所有字段的类型
Db::getTableInfo('think_user', 'type');
// 获取`think_user`表的主键
Db::getTableInfo('think_user', 'pk');

查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:

where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

随机取值 不会重复,数量可能没有10个

$list = Db::name('addr')->where('rand()')->limit(10)->column('id');

V5.0.17+版本开始,当你的order排序中使用了SQL函数的时候,请使用orderRaw方法替代order,例如:

$list = Db::name('addr')->orderRaw('rand()')->limit(10)->column('id');//随机取值 不会重复 建议用此方法

 

 

模糊搜索2个或多个字段,只要字段里面包含其中数据即可搜索出来

        $where['core|ltd_name'] = ['like','%'.$key.'%'];
       
        $list = Db::name('ltd')
                ->where($where)
                ->where('siteswitch','1')//可以关联其他字段
                ->where('uid','>',0)//或者判断大于多少
                ->select();

 

 

使用getTableInfo可以获取表信息,信息类型 包括 fields,type,bind,pk,以数组的形式展示,可以指定某个信息进行获取

// 获取`think_user`表所有信息
Db::getTableInfo('think_user');
// 获取`think_user`表所有字段
Db::getTableInfo('think_user', 'fields');
// 获取`think_user`表所有字段的类型
Db::getTableInfo('think_user', 'type');
// 获取`think_user`表的主键
Db::getTableInfo('think_user', 'pk');

查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:

where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式 含义
EQ、= 等于(=)
NEQ、<> 不等于(<>)
GT、> 大于(>)
EGT、>= 大于等于(>=)
LT、< 小于(<)
ELT、<= 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询
[NOT] NULL 查询字段是否(不)是NULL
[NOT] EXISTS EXISTS查询
EXP 表达式查询,支持SQL语法
> time 时间比较
< time 时间比较
between time 时间比较
notbetween time 时间比较
 

 

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

1679
主攻后端PHP
4660
二次开发Code
1679
长连接Swoole
4640
高并发网站Redis