Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Laravel 5 报告和拾取数据的默认查询_Laravel 5_Eloquent_Laravel Query Builder - Fatal编程技术网

Laravel 5 报告和拾取数据的默认查询

Laravel 5 报告和拾取数据的默认查询,laravel-5,eloquent,laravel-query-builder,Laravel 5,Eloquent,Laravel Query Builder,我正在尝试设置一个默认查询,以便在Laravel5.1中生成报告。在设置这个默认查询之后,我将 尝试将一些条件与WARE放在一起,并在变量中得到这些结果 例如: $tasks = Task::whereBetween('created_at', [$date1, $date2]); $closed = $tasks->where('closed', 1)->count(); $re_open = $tasks->where('reopen', 1)->count();

我正在尝试设置一个默认查询,以便在Laravel5.1中生成报告。在设置这个默认查询之后,我将 尝试将一些条件与WARE放在一起,并在变量中得到这些结果

例如:

$tasks = Task::whereBetween('created_at', [$date1, $date2]);

$closed = $tasks->where('closed', 1)->count();

$re_open = $tasks->where('reopen', 1)->count();
问题是:

当我返回$closed时,数字是正确的,但是当我返回$re_open时,计数是0,因为查询将第二个重新打开的条件与第一个关闭的条件相加

像这样:

select * from `tasks` where `created_at` between ? and ? and `closed` = ? and `reopen` = ?
对于所有报表,$tasks中的查询始终相同。如何使用默认查询获得第二个条件,而不在所有代码中复制查询


谢谢

我不知道这是否是最好的答案,但我解决了这个问题:

我设置了默认查询:

$query = Task::whereBetween('created_at', [$date1, $date2]);
并将其用于每个过滤器:

$tasks  = clone $query;
$closed = $tasks->where('closed', 1)->get();

$tasks  = clone $query;
$reopen = $tasks->where('reopen', 1)->get();
好的,我有两行用于一个查询,但是如果我的默认查询有更多的过滤器,那么这种方式会更干净


谢谢

我不知道这是否是最好的答案,但我解决了这个问题:

我设置了默认查询:

$query = Task::whereBetween('created_at', [$date1, $date2]);
并将其用于每个过滤器:

$tasks  = clone $query;
$closed = $tasks->where('closed', 1)->get();

$tasks  = clone $query;
$reopen = $tasks->where('reopen', 1)->get();
好的,我有两行用于一个查询,但是如果我的默认查询有更多的过滤器,那么这种方式会更干净


谢谢

是否只有已关闭和重新打开的任务记录?如果是,为什么不从$task->count()-$closedNo重新打开。这只是一个例子,在报告中我有几个列,我打算设置几个条件。是否只有关闭和重新打开的任务记录?如果是,为什么不从$task->count()-$closedNo重新打开。这只是一个例子,在报告中我有几个专栏,我打算提出几个条件。