Php 如何使用聚合函数对日期时间列的时间进行Elount?
我有以下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错误: 时间别名的“未找到列” 另外,我更喜欢只使用雄辩的解决方案,使用noPhp 如何使用聚合函数对日期时间列的时间进行Elount?,php,sql,laravel,datetime,eloquent,Php,Sql,Laravel,Datetime,Eloquent,我有以下SQL表: |---------------------------------------------| | LESSONS | |-----------------------|---------------------| | BEGIN_DATE (DateTime) | END_DATE (DateTime) | |-----------------------|---------------------|
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",
]