php - 在 Laravel 中查询失败,但在 MySQL 中可以正常查询

标签 php mysql laravel laravel-4 eloquent

我在 Eloquent 模型中定义了一些查询范围方法,并在 Controller 中调用它们以允许 Laravel 使用

构建查询
return View::make('credit_apps/view')->with('creditApps', CreditApp::ApprovalStatus()
                                     ->SalesRep()
                                     ->Submitted()
                                     ->RefReceived()
                                     ->get()
                                     );

Illuminate返回的错误是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 抛出错误?

最佳答案

你应该尝试这样的事情:

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

关于php - 在 Laravel 中查询失败,但在 MySQL 中可以正常查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683312/

相关文章:

php - 如何在 Windows 托管服务器上运行 .php 文件

php - 存储二进制数据mysql

mysql - 为每个月值选择 N 个条目

java - 如何修复 my/hibernate.cfg.xml 文件?

laravel - 如何修复 mpdf 临时文件目录可写问题?

php - Laravel 5 重置密码通知不会发送

php - 如果 PHP 数组的键不作为值存在于另一个数组中,则将其值设置为 0

php - 如何在 mac v 10.7.2 上安装/使用 php

mysql - Sails.js:生产环境 + sails-mysql - 提升时未创建数据库表

laravel - 使用 VueJS 和 Laravel 的 Textarea v-model 初始值