天天看点

ThinkPHP6 查询相关

<?php
namespace app\controller;

use app\BaseController;
//1. 引用Db
use think\facade\Db;

class Index extends BaseController
{
    public function index()
    {	
//  	求总数
//		$res = Db::name('user')->count();
//		指定字段求总数
//		$res = Db::name('user')->count('id');
//		最大值
//		$res = Db::name('user')->max('id');
//		最小值
//		$res = Db::name('user')->min('id');
//		平均值
//		$res = Db::name('user')->avg('id');
//		求和
//		$res = Db::name('user')->sum('id');

//  	fetchSql() 不执行 返回SQL语句字符串 默认false 执行SQL
//		$res = Db::name('user')->fetchSql(true)->select();
//		返回带括号双引号对SQL语句
//		$res = Db::name('user')->buildSql(true);

//		原生SQL
//		query() 适用读取
//		$res = Db::query('select * from user');
//		execute() 适用更新写入
//		$res = Db::execute("update user set username = 'leitionA' where id = 1");

//		选择字段
//		$res = Db::name('user')->field('id, sex')->select();
//		排除字段
//		$res = Db::name('user')->withoutField('id, sex')->select();
//		别名
//		$res = Db::name('user')->field('id, gender as sex')->select();
//		数据必须是field括号里的字段
//		$res = Db::name('user')->field('id, sex')->insert($data);

//		alias()给数据库起别名
//		$res = Db::name('user')->alias('a')->select();
		
//		limit(n) 0-n条
//		$res = Db::name('user')->limit(5)->select();
//		limit(m, n) 从m开始 取n条
//		$res = Db::name('user')->limit(5, 10)->select();

//		page(m, n)  从(m-1)*n 开始 取n条
//		$res = Db::name('user')->page(2, 10)->select();

//		order()  默认asc
//		$res = Db::name('user')->order('id','desc')->select();
//		多排
//		$res = Db::name('user')->order(['id' => 'asc', 'status' => 'desc'])->select();
//		orderRaw()
//		$res = Db::name('user')->orderRaw("FIELD(username, 'leition') desc")->select();

//		group() 分组
//		分性别求总价
//		$res = Db::name('user')->field('sex, sum(price)')->group('sex')->select();
//		分性别分用户求总价
//		$res = Db::name('user')->field('sex, sum(price), username')->group('sex,username')->select();
		
		
//		having() 删选
//		$res = Db::name('user')
//			->field('sex, sum(price), username')
//			->group('sex,username')
//			->having('sum(price) > 50')
//			->select();

//		withAttr() 获取器   吧email字段大写输出
//      $user = Db::name('user')->withAttr('email', function ($value, $data) {
//      	return strtoupper($value);
//      })->select();
//
//  	return json($res);

//		对结果集进行
//		hidden 	隐藏
//		visible 只显示
//		append	添加
//      return json($res->hidden(['username', 'details'])
//                         ->visible(['username','email'])
//                         ->append(['nothing']);
    }

}