Я пытаюсь использовать поведение Sluggable из пакета Doctrine Extensions :
http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2
. Я настроил slugable поле в своей сущности, используя аннотацию, но значение не устанавливается, когда я использую форму для создания экземпляра, что вызывает следующую ошибку:
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)));
}
}
}
И определение slugable поля в классе Entity:
/**
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(length=128, unique=true)
*/
private $slug;
Если я добавлю поле slug в конструктор форм и установлю значение вручную, все будет работать нормально, но, очевидно, я не хочу возиться с этим.
Кто-нибудь может помочь?
Спасибо