Laravel:使用MySQL SUM函数返回数据库查询结果,并将其存储在变量中


Laravel: Return a database query result using the MySQL SUM function and store it in a variable

我需要帮助了解如何使用Laravel的MySQL SUM()函数从数据库查询中返回结果。我知道我需要使用原始数据库查询,我已经尝试过了,但它似乎只返回了一个数组。

这是我迄今为止的代码:

$cron_jobs = DB::select('
      SELECT ROUND(SUM((TIME_TO_SEC(TIMEDIFF(end_time, start_time))/60)/15))
      AS cron_jobs
      FROM `quiet_periods`');
var_dump($cron_jobs);
exit;

这是我的控制台日志:

array(1) {
  [0]=>
  object(stdClass)#689 (1) {
    [cron_jobs]=>
    string(2) "20"
  }
}

我的目标是从返回的结果中提取值20,但我似乎无法实现这一点。当我运行以下代码时:

echo $cron_jobs;

它应该只显示键/值对的值。

请注意:我也使用了DB::statement,但它返回了1的结果,我认为这是一个布尔结果。我不明白为什么。。。哦,我在DB::select中使用了DB::raw,但似乎只返回了相同的结果。

使用标准访问者访问您的数据

$crons = $cron_jobs[0]->cron_jobs;

我不知道我们在说什么Laravel版本,但在4中你得到了:

DB::selectOne($sql);