我正在尝试使用来自Doctrine扩展包的可打包行为:
http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2
我已经使用注释在实体中设置了一个可延迟字段,但是在使用表单创建实例时没有设置值,这会导致以下错误:
SQLSTATE23000:完整性约束违反: 1048列“段塞”不能为空
下面是我的控制器的代码:
$form = $this->createFormBuilder($section)
->add('title', 'text')
->getForm();
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->persist($section);
$em->flush();
if (empty($id)) {
return $this->redirect($this->generateUrl('ContentBundle_section_new'));
}
else {
return $this->redirect($this->generateUrl('ContentBundle_section_edit', array('id' => $id)));
}
}
}和实体类中的可延迟字段定义:
/**
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(length=128, unique=true)
*/
private $slug;如果我向works构建器中添加了slug字段并手动设置了一个值,它可以正常工作,但很明显,我不想在这里乱搞。
有人能帮忙吗?
谢谢
发布于 2012-07-16 19:23:01
明白了。
我忘记将以下一行添加到config.yml文件中:
懒散:真的
所以它应该是这样的:
stof_doctrine_extensions:
default_locale: en
translation_fallback: true
orm:
default:
tree: true
timestampable: true
sluggable: truehttps://stackoverflow.com/questions/11509784
复制相似问题