當我試圖使用從原則擴展包的Sluggable行爲設置沒有得到,當我使用窗體來創建一個實例,這將導致以下錯誤設置:Symfony的2 Sluggable不使用形式
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'slug' cannot be null
下面是從我的控制器代碼:
$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)));
}
}
}
而在實體類sluggable字段定義:
/**
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(length=128, unique=true)
*/
private $slug;
如果我蛞蝓字段添加到formbuilder和手動設置的值,它的工作原理確定,但很明顯,我不想搞亂與此相關。
任何人都可以幫忙嗎?
謝謝
你有:使用Gedmo \將\ Annotation映射爲Gedmo;在實體類? – drupality 2012-07-16 18:01:15
是的。該實體也(成功)使用樹擴展。 – Dan 2012-07-16 19:02:40