Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维_Php_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php 拉维

Php 拉维,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我正在使用laravel时钟来监控我的查询 我的控制器里有 public function index(){ $errorFound = false; $error = ['error' => 'No Monitor Found']; $urls = $this->url->with('url_status','latestUrlStatus','users'); if (request()->has('q')) { $ke

我正在使用laravel时钟来监控我的查询

我的控制器里有

public function index(){
    $errorFound = false;
    $error = ['error' => 'No Monitor Found'];
    $urls = $this->url->with('url_status','latestUrlStatus','users');
    if (request()->has('q')) {
        $keyword = '%'.request()->get('q').'%';
        $builder = $urls->where('description', 'like', $keyword);
        $builder->count() ? $urls = $builder : $errorFound = true;
    }
   return $errorFound === false ? UrlsResource::collection($urls->latest()->paginate(5)->appends(request()->query())) : $error;
}
在我的laravel发条上我得到了 双重查询


这正常吗?如果有问题,我如何解决?TIA

没有问题。所有这些查询都是预期的

第一个查询选择用户。。。不是来自您显示的代码。它来自委托代理

第二个查询select count来自$builder->count

其余所有查询都来自$URL->latest->paginate5。paginate做的第一件事是运行计数查询,第三个查询是获取记录总数。然后它继续调用真正的查询


在本例中,第四个查询是您对所有url的主查询,第五个查询是急切加载url\u状态关系的查询,第六个查询是急切加载最新状态关系的查询,第七个查询是急切加载用户关系的查询。

没有问题。所有这些查询都是预期的

第一个查询选择用户。。。不是来自您显示的代码。它来自委托代理

第二个查询select count来自$builder->count

其余所有查询都来自$URL->latest->paginate5。paginate做的第一件事是运行计数查询,第三个查询是获取记录总数。然后它继续调用真正的查询


在本例中,第四个查询是对所有url的主查询,第五个查询是对急于加载url_状态关系的查询,第六个查询是对急于加载最新状态关系的查询,第七个查询是用于急切加载用户关系的查询。

这是否正常,因为按“1”、“2”、“3”、“4”、“5”顺序在描述“%”处创建的url中选择count*作为聚合,并从url\u status中选择*作为聚合,其中url\u status.url\u id为twice@Beginner是的,这就是我在回答中解释的。第一个选择计数来自调用$builder->count,第二个选择计数来自paginate函数内部。第一个url\u状态查询来自于加载您的url\u状态关系。第二个url_状态查询来自于急切加载您的最新状态查询。这是否正常,因为在描述为“%”的url中选择count*作为聚合,并在描述为“%”的url_状态中选择*作为聚合,在描述处按“1”、“2”、“3”、“4”、“5”的顺序创建url_status.url_idtwice@Beginner是的,这就是我在回答中解释的。第一个选择计数来自调用$builder->count,第二个选择计数来自paginate函数内部。第一个url\u状态查询来自于加载您的url\u状态关系。第二个url_状态查询来自于加载您的最新状态查询。