雄辩的querybuilder中的date方法

时间:2019-01-28 07:53:44

标签: laravel eloquent

我有这个原始查询,我想在雄辩的查询生成器中使用它 但是似乎我不能雄辩地使用日期方法,并且雄辩地给了我这个错误。有什么问题:

import json
data = requests.get('url details').text
data = json.loads(data)

原始SQL:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'date(prizes.created_at), user_id' in 'group statement' (SQL: select user_id,COUNT(user_id), date(created_at) from `prizes` group by `date(prizes`.`created_at), user_id` having `user_id` = 1 order by `date(created_at)` desc)

口才:

SELECT
user_id,COUNT(user_id), DATE(created_at) FROM prizes
GROUP BY DATE(prizes.created_at), user_id
HAVING user_id = 1
ORDER BY DATE(created_at) DESC
limit 2

什么是最干净,最好的表格?

1 个答案:

答案 0 :(得分:1)

默认情况下,Laravel尝试将所有字符串解析为表。这意味着它将在`。

之间添加字符串。

为避免这种情况,可以将字符串放在DB:raw()函数中,以使Laravel知道不解析该字符串并将其原样发送到数据库。

->orderBy(\DB::raw("date(created_at)"), "DESC")

或使用原始方法进行订购:

->orderByRaw('date(created_at) desc')