<?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']);
}
}