十五、ThinkPHP6_链式查询方法

一、where

  1. 表达式查询 where() 方法的基础查询方式
Db::name('user')->where('id','<',10)->select();
  1. 关联数组查询 键值对来数组键值对匹配的查询方式
Db::name('user')->where([
	'gender' => '女',
	'price' => 20 //'price' =>[20,30,32] //可以是数组
])->select();
  1. 索引数组查询,数组里的数组拼装方式查询
Db::name('user')->where([
	['gender','=','男'],
	['price','>','100'],
	['code','in',[1,2,5]
	])->select();
  1. 字符串形式传递,简单粗暴的查询方式,whereRaw() 支持复杂字符格式
Db::name('user')->whereRaw('gender ="男" AND price IN(30,40,60)')->select();
  1. 预处理模式查询
Db::name('user')->whereRaw('id=:id',['id'=>6])->select();

二. field

  1. field() 指定查询的字段
//指定字段性能会更好
Db::name('user')->field('id,name')->select();//字符串方式
//或
Db::name('user')->field(['id','name'])->select();//数组方式
  1. field() 指定查询字段别名
Db::name('user')->field('id,name as user_name')->select();
//或
Db::name('user')->field(['id','name'=>'user_name'])->select();
  1. fieldRaw() 直接给指定段设置 MySql 函数
Db::name('user')->fieldRaw('id,SUM(price)')->group('id')->select();
  1. field(true) 布尔参数,查询获取所有字段
Db::name('user')->field(true)->select();// Sql语句是列出的所有字段
  1. withoutField() 排除不想显示的字段
Db::name('user')->withoutFiled('name')->select();
  1. field() 新增时验证字段合法性
$data = ['name'=>'汪小小','email'=>'123456@qq.ocm'];
Db::name('user')->field('name,email')->insert($data);

三、alias

  1. alias() 数据库起别名
Db::name('user')->alias('u')->select();

四、limit

  1. limit() 限制获取输出数据的个数
//输出个数
Db::name('user')->limit(5)->select();
//分页模式
Db::name('user')->limit(2,5)->select();

五、page

  1. page() 分页方法,优化了 limit() ,无须计算分页条数
Db::name('user')->page(2,5)->select();

六、order

  1. order() 指定排序方式,没有指定第二个参数,默认 asc,
Db::name('user')->order('id','desc')->select();
  1. 数组方式,对多个字段进行排序
Db::name('user')->order(['price'=>'asc','id'=>'asc'])->select();
  1. 使用 orderRaw() 方法,排序时指定 mysql 函数
//field(s,s1,s2 ...)返回第一个字符串,在 s1,s2... 中位置
Db::name('user')->orderRaw('FIELD(id,3,2,4,1) DESC')->select();//大大排在最前面,小小排后第二个

七、group

  1. group() 分组统计
Db::name('user')->fieldRaw('gender,SUM(price)')->group('gender')->select();
  1. 多字段分组统计
Db::name('user')->fieldRaw('gender,SUM(price)')->group('gender,class')->select();

五、having

  1. group() 分组之后,having() 进行筛选
Db::name('user')
	->fieldRaw('gender,SUM(price)')
	->group('gender')
	->having('SUM(price)>100')
	->select();
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值