为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 中的计数函数机制

Laravel 中的计数函数机制

PHP
牧羊人nacy 2021-07-01 16:57:38
假设我们有这个代码count() 函数的结果是关于每个查询还是在查询执行之后 count 函数返回结果?$model=Model::query()foreach ($Entities as $entity) {               $model->orWhereBetween("id",$entity->first_id,$entity->last_id])         }$model->count()
查看完整描述

2 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

Salam,

答案:这取决于您何时调用 count 方法!

在您的代码中:


$model=Model::query();

$model2 = $model;


foreach ($Entities as $entity) {

//you should save your where between in self $model varriable

    $model = $model->orWhereBetween("id",$entity->first_id,$entity->last_id])

}


//$model - object of query builder

$model->count();//After operations and filtering 

$model2->count();//Before operations and filtering (  It is equal or more than $model->count()  )

我希望这可以帮助你 :)


查看完整回答
反对 回复 2021-07-09
?
波斯汪

TA贡献1811条经验 获得超4个赞

$model=Model::query()


    foreach ($Entities as $entity) {

        $model->orWhereBetween("id",$entity->first_id,$entity->last_id])

    }


//$model - object of query builder

$model->count();

它将生成一个查询并在 db 端进行计算: SELECT COUNT(*) FROM table WHERE id BETWEEN ? AND ? OR id BETWEEN ? AND ? OR id BETWEEN ? AND ?


查看完整回答
反对 回复 2021-07-09
  • 2 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信