下面是我的sql代码,它工作正常
SELECT oid, date(ordered_on) AS ord, count(date(ordered_on)) AS cnt
FROM order
GROUP BY ord DESC
LIMIT 10但当我将其应用于幼体时,我无法评估结果。下面是laravel代码
DB::table('order')
->select(DB::raw('oid, date(ordered_on) as ord, count(date(ordered_on)) as cnt'))
->groupBy('ord')
->orderBy('oid', 'desc')
->limit(10)
->get();发布于 2018-08-28 17:45:10
您的原始MySQL查询在理想情况下不应该工作,因为它没有多大意义。我感觉你想做的是按日期统计记录。如果是这样,那么您需要这个查询:
SELECT DATE(ordered_on), COUNT(*) AS cnt
FROM `order`
GROUP BY DATE(ordered_on);这将意味着以下Laravel代码:
DB::table('order')
->select(DB::raw('DATE(ordered_on) AS ord, COUNT(*) AS cnt'))
->groupBy('ord')
->orderBy('ord', 'desc')
->limit(10)
->get();顺便说一句,不要使用保留的MySQL关键字(如order )命名表、列等。我需要在我的查询中转义order,而您也需要不断地进行同样的操作。
发布于 2018-08-28 17:43:34
您在laravel中使用的是严格模式。你可以根据你的需要来调整它。
在set strict=>false中找到config/database.php,你就可以开始了。
'mysql' => [
// ....
'strict' => false
],https://stackoverflow.com/questions/52054732
复制相似问题