jeudi 13 octobre 2016

Laravel 5 issue with executing query with DB::select

I've a query which perfectly works in phpmyadmin sql, but when I try to run the query in laravel 5 DB::select it gives me an error here is the code:

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;


    }

here is the error:

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))



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire