Php 如何使用聚合函数对日期时间列的时间进行Elount?

Php 如何使用聚合函数对日期时间列的时间进行Elount?,php,sql,laravel,datetime,eloquent,Php,Sql,Laravel,Datetime,Eloquent,我有以下SQL表: |---------------------------------------------| | LESSONS | |-----------------------|---------------------| | BEGIN_DATE (DateTime) | END_DATE (DateTime) | |-----------------------|---------------------|

我有以下SQL表:

|---------------------------------------------| | LESSONS | |-----------------------|---------------------| | BEGIN_DATE (DateTime) | END_DATE (DateTime) | |-----------------------|---------------------| | 2019-04-22 10:00:00 | 2019-04-22 12:00:00 | | 2019-04-23 09:00:00 | 2019-04-23 10:00:00 | 但是我得到一个SQL错误:

时间别名的“未找到列”

另外,我更喜欢只使用雄辩的解决方案,使用no
SQL

我该怎么做?

您可以这样做:

$data = Lesson::selectRaw(
            'min(TIME(begin_date)) as min_time, max(TIME(end_date)) as max_time'
        )
        ->first()
        ->toArray();
这将返回如下内容:

dd($data);

我还想看到一个雄辩的方法(尝试过但失败了lol)。我希望这有帮助。

太好了!谢谢。
dd($data);
=> [
     "min_time" => "09:00:00",
     "max_time" => "12:00:00",
   ]