tp5的数据查询语言

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.带有orand的查询

$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);
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值