2012-07-16 23 views
8

Estoy tratando de utilizar el comportamiento Sluggable del Extensiones paquete Doctrina:Symfony 2 - Sluggable no define si se utiliza la forma

http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2

he configurar un campo Sluggable en mi entidad que utiliza la anotación, pero el valor no consigue establecer cuando se utiliza una forma de crear una instancia, lo que provoca el error siguiente:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'slug' cannot be null

Aquí está el código de mi controlador:

 $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))); 
       } 

      } 
     } 

Y la definición del campo Sluggable en la clase de entidad:

/** 
    * @Gedmo\Slug(fields={"title"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 

Si añado el campo babosa a la FormBuilder y establecer un valor de forma manual, funciona bien, pero, obviamente, no quiero que se Messing alrededor con esto.

¿Alguien puede ayudar?

Gracias

+0

¿Tiene: utilizar Gedmo \ Mapping \ Annotation como Gedmo; en la clase de entidad? – drupality

+0

Sí. Esta entidad también está (con éxito) utilizando la extensión de árbol. – Dan

Respuesta

30

Got it.

me había olvidado de añadir la siguiente línea al archivo config.yml:

Sluggable: verdadera

lo tanto, debe leer algo como:

stof_doctrine_extensions: 
    default_locale: en 
    translation_fallback: true 
    orm: 
     default: 
      tree: true 
      timestampable: true 
      sluggable: true 
+0

thx, estaba buscando esta respuesta por mucho tiempo ... en el último proyecto, mi colega lo hizo y no pude entender lo que estaba haciendo mal ... – AlexK

+2

Asegúrese de poner esto bajo "stof_doctrine_extensions" no en "doctrina" como me llevó un tiempo ver mi error –

+0

Tuve el mismo problema, y ​​agregué estas configuraciones, pero obtuve este error: 'No hay extensión capaz de cargar la configuración de" stof_doctrine_extensions "' . ¿Alguien puede ayudarme? – Laiso