1.查询一句
$result = Db::name('log')
->where('id', 2)
->find();
2.按条件查询多条语句
//多条件查询
//中间参数可以写成 >= <= <> in [4,5,6,7] 'between' [5,8]
$result = Db::name('log')
->where('id', '>=', 2)
->select();
$result = Db::name('log')
->where('id', 'in', [102,103,104])
->select();
3.使用exp天条件表达式,表示后面是原生的SQL语句表达式
$result = Db::name('log')
->where('id', 'exp', '>1 and user_id = 1')
->select();
4.使用多个字段的查询
$result = Db::name('log')
->where('id', '>=', '1')
->where('user_id', '1')
->select();
或者:
$result = Db::name('log')
->where([
'id' => ['>=', 1],
'ip' => ['like', '%1%'],
])->select();
5.带有or或and的查询
$result = Db::name('log')
->where('ip', 'like', '%1%')
->where('id', ['in', [1,2,3]], ['>=', 1], 'or')
->limit(2)
->select();
6. 快捷查询
//如果要查询id和user_id同时大于1的的项,可以像下面这样写
$result = Db::name('log')
->where('id&user_id', '>', 1)
->limit(10)
->select();
//如果要查询id大于1或者user_id大于1的的项,可以像下面这样写
$result = Db::name('log')
->where('id|user_id', '>', 1)
->limit(10)
->select();
7. 获取某行某列的某个值
//获取某行
+的某个值
$name = Db::name('log')
->where('id', 102)
->value('user_id');
//获取某列的某个值
$name = Db::name('log')
->where('user_id', 1)
->column('ip');
$result = $name;
8. 聚合查询
$count = Db::name('log')->where('user_id', 1)->count();
9. scope + 查询范围名称
在model中的代码
protected function scopeIp($query){
$query->where('ip', '10.10.11.11');
}
protected function scopeUserId($query){
$query->where("user_id", 1);
}