【发布时间】:2014-09-10 11:24:18
【问题描述】:
我正在使用 symfony2 和 sonata admin 来管理我的实体,对于我的“事件”实体,我正在配置表单字段,如下所示:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('titre', 'text', array('label' => 'titre'))
->add('ville', 'entity', array('class' => 'AgendaBundle\Entity\Ville','property' => 'titre'))
->add('isactive')
;
}
表单很好地生成了“ville”实体标题列表,但是当我尝试添加新的“事件”时,我得到一个 sql 异常 SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个SQL 语法错误
在生成的 sql 语法中,我看到 symfony 正在尝试将“ville”值插入为空数组:An exception occurred while executing 'INSERT INTO event (titre, ville , isActive) VALUES (?, ?, ?, ?)' with params ["test", {}, 1]:
有什么问题?
【问题讨论】:
-
你能告诉我们
Event实体的映射信息吗,特别是Event::$ville? -
“ville”只是“事件”实体中的一个文本字段
-
错误是说'INSERT INTO event (titre, ville, isActive) VALUES (?, ?, ?, ?)'你有三个字段和参数绑定四个值'?'。如果没有清晰的代码,就无法确定问题出在哪里。