ThinkPHP MySQL
链式操作
where
$map['username'] = 'MrW';
// 把查询条件传入查询方法
$result = Db::table('fa_user')->where($map)->select();
dump($result);
// 助手函数
$result = db('user')->where($map)->select();
dump($result);
table
$result = Db::table('fa_user')->select();
dump($result);
效果图:
alias
$result = Db::table('fa_user')->alias('a')->fetchSql(true)->select();
dump($result);
效果图:
field
$result = Db::table('fa_user')->field('id,username,nickname')->fetchSql(true)->select();
dump($result);
效果图:
order [limit]
$result = Db::table('fa_user')->order('id desc')->limit(5)->fetchSql(true)->select();;
dump($result);
效果图:
page
$result = Db::table('fa_config')->page(1,10)->fetchSql(true)->select();
dump($result);
$result = Db::table('fa_config')->page(2,10)->fetchSql(true)->select();
dump($result);
效果图:
group
$result = Db::table('fa_category')
->field('id,name')
->group('pid')
->fetchSql(true)
->select();
dump($result);
效果图:
having
HAVING方法也是连贯操作之一,用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据。
Db::table('fa_user')
->field('username,max(score)')
->group('grounp_id')
->having('count(group_id)>3')
->select();
join
$result = Db::table('fa_admin')
->alias('a')
->join('fa_admin_log w','a.id = w.group_id', 'LEFT')
->fetchSql(true)
->select();
dump($result);
效果图:
union
$result = Db::field('username')
->table('fa_admin')
->union('SELECT username FROM fa_user')
->fetchSql(true)
->select();
dump($result);
效果图:
distinct
$result = Db::table('fa_user')->distinct(true)->fetchSql(true)->field('nickname')->select();
dump($result);
效果图:
comment
$result = Db::table('fa_user')->comment('用户表')->fetchSql(true)->select();
dump($result);
效果图:
force
Db::table('fa_user')->force('username')->select();
效果图:
聚合查询
效果图:
dump(db('user')->count());
dump(db('category')->max('pid'));
效果图:
dump(db('category')->min('pid'));
效果图:
dump(db('category')->avg('pid'));
效果图:
dump(db('category')->sum('pid'));
效果图:
子查询
$result = Db::table('fa_user')
->where('id','IN',function($query){
$query->table('fa_user')->where('id','in', '1,2')->field('id');
})
->select();
dump($result);
效果图:
事务操作
// 启动事务
echo '开启';
Db::startTrans();
try{
Db::table('fa_user')->find(10);
Db::table('fa_user')->delete(10);
// 提交事务
Db::commit();
echo '执行成功';
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
}
效果图:
数据集
database 配置文件
// 数据集返回类型
'resultset_type' => 'collection',