我有一个带有嵌套选择的查询,它使用第一个选择的结果。当我使用 Sequel Pro 的查询检查器进行测试时,我的查询工作得很好。它返回我想要的结果。当我将此查询传递给 Laravel 并使用简单echo
语句对其运行测试时,它会输出NULL
.
这是我的 PHP 代码和查询:
$crons = DB::select('
SELECT @quiet_crons:=ROUND(SUM(TIME_TO_SEC(TIMEDIFF(`end_time`, `start_time`))/60/15))
AS quiet_crons,
FLOOR(SUM(TIME_TO_SEC(TIMEDIFF(TIME('24:00'), TIME(NOW())))/60/15-@quiet_crons))
AS remaining_crons
FROM `quiet_periods`
WHERE `day` = DAYNAME(NOW())
');
这是控制台的输出:
array(1) {
[0]=>
object(stdClass)#689 (2) {
["quiet_crons"]=>
string(2) "24"
["remaining_crons"]=>
NULL
}
}
结果remaining_crons
不应该是NULL
。
请注意:我在这里看到一篇关于 Laravel 中用户定义的 MySQL 变量的文章,我尝试了解决方案,但它并没有解决我的问题。这是我指的链接: Laravel 3 中的用户定义的 MySQL 变量?