Symfony 2 -Sluggable не устанавливается при использовании формы

Я пытаюсь использовать поведение 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 в конструктор форм и установлю значение вручную, все будет работать нормально, но, очевидно, я не хочу возиться с этим.

Кто-нибудь может помочь?

Спасибо

8
задан Dan 16 July 2012 в 17:52
поделиться