在我的一个 ZF2 控制器上工作时,我收到了这个错误:
Doctrine\DBAL\DBALException
File: /var/www/microweb2/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:47
Message: An exception occurred while executing 'INSERT INTO quotes (name, email, phone_number, budget, content, date_posted, service_id) VALUES (?, ?, ?, ?, ?, ?, ?)' with params [null, null, null, null, null, null, null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null
好吧,这似乎是一个非常基本的错误,但我找不到解决方案。过程是这样的:我创建我的表单来显示它,然后我将它与一个实体绑定Application\Entity\Quote
。然后我用DoctrineHydrator
. 如果请求是POST
,我使用请求值设置表单值,并使用 InputFilter 验证它们。不幸的是,如果isValid()
返回true
,数据库返回错误......为什么这些值是空的?
这是我的控制器代码: http: //pastebin.com/JVK5xE9r
这是我的实体: http: //pastebin.com/NhtaBNW9
这是我的:http AbstractEntity
: //pastebin.com/s4L7Cquu
这是我的表格: http: //pastebin.com/t7Kmzfk5
这是我的:http AbstractForm
: //pastebin.com/36WeyKBf
有太多代码无法将其包含在问题中。
这些get()
方法也适用于实体set()
。但这是我唯一的问题!所以我想知道为什么。
如果有人能告诉我为什么它不起作用,那就太好了!