我有一个雄辩的模型中定义的一些查询范围的方法和我打电话他们在控制器允许Laravel建立使用查询在Laravel失败,但在MySQL
return View::make('credit_apps/view')->with('creditApps', CreditApp::ApprovalStatus()
->SalesRep()
->Submitted()
->RefReceived()
->get()
);
被照亮为返回的错误查询MySQL的语法错误:
Illuminate \ Database \ QueryException SQLSTATE[42000]: Syntax error
or access violation: 1064 You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for the right
syntax to use near '' at line 1 (SQL: select * from `credit_apps`
where `approval_status` = 'Approved' and `sales_rep` = 'Joe Smith' and
`date_received` between '2014-04-30 00:00:00' AND '2014-05-15
00:00:00' and `date_ref_received` between '2014-04-27 00:00:00' AND
'2014-05-30 00:00:00')
然而,当我分析查询在MySQL Workbench中,或者在命令行虽然标准不返回任何记录它分析得很好,但我知道它不会。尽管如此,这是一个有效的查询,并且在MySQL中工作正常。
是什么导致Laravel抛出错误?
看来,Laravel不喜欢日期的where子句。如果我没有日期搜索它的作品。 – Malchesador
我看到没有错误的SQL查询,但我注意到它说“语法错误或访问冲突”。您是否曾尝试通过终端使用Laravel使用的相同MySQL用户/密码来运行此SQL?此外,“SHOW CREATE TABLE”将非常有用。我假设日期栏是'DATETIME'? – charmeleon
请发表你的 “CreditApp ::审批状态()” laravel代码 – Laurence