phpmyadmin sqlで完全に機能するクエリがありましたが、laravel 5でクエリを実行しようとすると、Laravel 5 DB :: selectでクエリを実行する際の問題
ここpublic function getCheckDueCurrentMonth()
{
$query = "SELECT * FROM history_card WHERE DUE_CAP_CHECK_DATE BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY) WHERE MAX(HISTORY_ID) GROUP BY SERIAL_NUMBER ORDER BY DUE_CAP_CHECK_DATE DESC";
$results = DB::select(DB::raw($query));
return $results;
}
はエラーです:
QueryException in Connection.php line 761:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL
syntax;
check the manual that corresponds to your MariaDB server version for the right syntax to
use near
'WHERE MAX(HISTORY_ID) GROUP BY SERIAL_NUMBER ORDER BY DUE_CAP_CHECK_DATE DESC)'
at line 1 (SQL: (SELECT * FROM history_card WHERE DUE_CAP_CHECK_DATE BETWEEN NOW()
AND DATE_ADD(NOW(), INTERVAL 30 DAY) WHERE MAX(HISTORY_ID)
GROUP BY SERIAL_NUMBER ORDER BY DUE_CAP_CHECK_DATE DESC))
にそれを回すことが判明しますどこに。秒をAND/ORに変更して比較するものを与えます。 – aynber