2016-07-29 40 views
1

Ich verwende ZF2, Doctrine2 und Gedmo Doctrine-Erweiterungen.Sluggable Doctrine Verhalten für Zend Framework2

Mein Slug Feldcode ist:

/** 
* @Gedmo\Slug 
* @ORM\Column(length=128, unique=true) 
*/ 
protected $slug; 

In meinem module.config.php i folgende hinzugefügt haben:

`'doctrine' => array(
    'driver' => array(
     'backend_entity' => array(
      'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 
      'paths' => array(__DIR__ . '/../src/Backend/Entity') 
     ), 
     'orm_default' => array(
      'drivers' => array(
       'Backend\Entity' => 'backend_entity', 
      ) 
     ) 
    ), 
    'eventmanager' => array(
     'orm_default' => array(
      'subscribers' => array(
       'Gedmo\Tree\TreeListener', 
       'Gedmo\Timestampable\TimestampableListener', 
       'Gedmo\Sluggable\SluggableListener', 
       'Gedmo\Loggable\LoggableListener', 
       'Gedmo\Sortable\SortableListener' 
      ) 
     ) 
    ), 
    'authentication' => array(
     'orm_default' => array(
      'object_manager' => 'Doctrine\ORM\EntityManager', 
      'identity_class' => 'Backend\Entity\User', 
      'identity_property' => 'email', 
      'credential_property' => 'password', 
      'credential_callable' => function(Backend\Entity\User $user, $passwordGiven) { 
        if ($user->getPassword() == md5($passwordGiven."salt")){ 
         return true; 
        } else { 
         return false; 
        } 
      }, 
     ), 
    ), 
),` 

Wenn ich neue Einheit bin erstellen, habe ich habe Fehler 'Slug nicht null sein kann' , so scheint ein träge Verhalten nicht zu funktionieren.

Irgendeine Idee, warum passiert es?

Antwort

1

Versuchen:

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