报告和选择数据的默认查询
Default Query to Report and pick datas
我正在尝试设置默认查询以在 Laravel 5.1 中生成报告。之后我设置了这个默认查询,我是
尝试将一些条件与 we 放在一起,并在变量中获得这些结果。
例如:
$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();
好的,我有 2 行用于 1 个查询,但如果我的默认查询有更多过滤器,这种方式会更干净。
谢谢
我正在尝试设置默认查询以在 Laravel 5.1 中生成报告。之后我设置了这个默认查询,我是 尝试将一些条件与 we 放在一起,并在变量中获得这些结果。
例如:
$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();
好的,我有 2 行用于 1 个查询,但如果我的默认查询有更多过滤器,这种方式会更干净。
谢谢