Thinkphp5查询语句集合

Deadly 提交于 2019-11-29 19:24:07

查询多条数据

//查询结果为对象
Db::name('user')->where('age','>',18)->select();

//查询结果为数组
Db::name('user')->where('age','>',18)->select()->toArray();

查询单条数据

//查所有字段
Db::name('user')->where('uid',1)->find();

//查某些字段
Db::name('user')->where('uid',1)->field('name,sex')->find();

查询某列数据

$condition['age'] = ['>=',18];
$condition['sex'] = ['=',2];
Db::name('user')->where($condition)->column('id');

分页查询

$pageConfig['status'] = 1;
// 查询状态为1的用户数据 并且每页显示10条数据,非简洁分页,分页条件参数
$list = Db::name('user')->where('status',1)->paginate(10,false,$pageConfig);
// 分页数据
$data = $list->items();
//分页代码
$page = $list->render();
//当前页码
$currentPage = $list->currentPage();
//总数据量
$total = $list->total();
//每页数据量
$listRows = $list->listRows ();
//总页码数
$totalPage = $list->lastPage();

连表查

INNER JOIN:如果表中有至少一个匹配,则返回行;

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行;

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行;

FULL JOIN: 只要其中一个表中存在匹配,就返回行

//alias:别名;join连表(默认 INNER JOIN)
    
Db::name('user')->alias('u')->join('student stu','u.id = stu.user_id')->select();

查找并排序

Db::name('user')->where('status=1')->order('id desc')->limit(5)->select();

查找并分组

Db::table('user')
    ->field('id,username')
    ->group('sex')
    ->select();

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!