gpt4 book ai didi

laravel - Laravel 的 eloquent 查询和相同的关联 SQL 查询(使用 toSql() 方法获得)之间的不同结果

转载 作者:行者123 更新时间:2023-12-03 16:33:11 25 4
gpt4 key购买 nike

我在 Laravel Eloquent 中有这个查询:

$measures = Measure::groupBy('time')
->selectRaw('time, sum("delta") as sum_delta, sum("redistributed") as sum_redistr')
->where('operation_id', 'ACC0000001')
->where('time', '>', '2020-05-09 00:00')
->where('time', '<', '2020-05-10 00:00')
->where('source', 'source1')
->where('conso_prod', 'Conso')
->get()
当我使用 toSql() 调试时函数,然后我将其粘贴到 pgAdmin 中,我得到了正确的结果。
select time, sum("delta") as sum_delta, sum("redistributed") as sum_redistr from "measures" 
where "operation_id" = 'ACC0000001'
and "time" > '2020-05-09' and "time" < '2020-05-10' and "source" = 'source1' and "conso_prod" = 'Conso' group by "time"
我每 30m 有一个结果,这是正确的。
但是当我使用eloquent时,我有相同数量的行,但所有 time字段相同:
"2020-05-09 00:00"
而不是递增。
我不明白为什么?我使用带有 TimescaleDB 扩展的 PostgreSQL。

最佳答案

在我的模型中,我将时间投入到 date而不是 datetime

protected $casts = [
'time' => 'date'
];
我把它改成:
protected $casts = [
'time' => 'datetime'
];
它奏效了。
如果有人像我一样失败,我就让它在那里!还是要谢谢你的帮助

关于laravel - Laravel 的 eloquent 查询和相同的关联 SQL 查询(使用 toSql() 方法获得)之间的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63155141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com