首页 > 解决方案 > 如何获得 Laravel 的平均时间

问题描述

我想获得开始时间和结束时间之间的平均时间以及 CUR-Time GroupBY 用户名在哪里我在 laravel 中编写了 sql 它显示了一些错误我找不到那是什么因为我是那个 laravel 的新手帮助修复这个 sql 错误我提交了我的 sql 和错误消息。

 $avagTime = DB::table( 'active_user' )
            ->select(DB::raw('AVG(TIME_TO_SEC(acu_et) - TIME_TO_SEC(acu_at))'))
            ->where (DATE('acu_at') == ('CURDATE()'))
            ->get();[![enter image description here][1]][1]

在此处输入图像描述

在此处输入图像描述在此处输入图像描述

标签: phpmysqldatabaselaravel

解决方案


问题在于你的where条款。Laravel 的查询构建器有一个whereDate()方法可以完美解决这个问题:

$avagTime = DB::table('active_user')
    ->selectRaw('AVG(TIME_TO_SEC(acu_et) - TIME_TO_SEC(acu_at))')
    ->whereDate('acu_at', today())
    ->get();

注意如果您想将 where 原因作为原始查询传递(就像您在示例中那样),您需要使用类似whereRaw()where().


推荐阅读