php - 如何获得 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]
解决方案
问题在于你的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()
.
推荐阅读
- python - .join() 在这个列表理解中做了什么?
- angular - Angular Reactive 表单将来自 fb 组的数据作为一个数据发送
- batch-file - 混合 Unicode 和 ANSI 的 CMD 输出
- python - 我的 requirements.txt 中的 Scikit-learn 并成功安装,但我仍然收到 ModuleNotFoundError: No module named 'sklearn'
- bash - 使用 exec 启动脚本时未获取 bash 配置文件
- php - Symfony5 - 表单仅在提交后刷新
- java - POM中的Maven问题不要复制文件
- dart - 加载 txt 文件作为 dart 包的资产
- reactjs - 如何在表单中呈现保存的数据以便我可以再次编辑?
- c - 如何在 Zephyr 中将中断输入更改为模拟输入并再次返回?