我正在尝试运行此查询
$tableDate = DB::select('SELECT (DATE_FORMAT(created_at,"%m-%d-%Y")) as
dateTaken FROM `test_answers`WHERE user_id= '.$id.' GROUP BY (test_id)
');
但是它给了我这个错误
SQLSTATE [42000]:语法错误或访问冲突:1055 'mte30.test_answers.created_at' 不是在GROUP BY(SQL:SELECT(DATE_FORMAT(created_at, “%间 - %D-%Y”))作为dateTaken来自test_answers,用户名= 2 GROUP BY(test_id))
我试图在PHPMyAdmin中和它的工作。 有人可以告诉我为什么使用Eloquent无法正常工作吗?
谢谢
答案 0 :(得分:3)
在严格模式下不起作用的原因是,您没有在查询中指定要使用哪个created_at。如果您使用的是GROUP BY,并且选择的列未分组或未汇总,则可能无法收到正确的数据。
您在test_answers中有多行,但是MySQL不知道您关心的是created_at。您可以通过简单地告诉MySQL返回哪个created_at来解决此问题,例如MAX(created_at)
选择最新的,或者MIN(created_at)
选择最早的。