DoctrineExtension Sluggable不适用于id字段

时间:2013-05-27 20:05:59

标签: symfony symfony-2.3 stofdoctrineextensions

我正在尝试从StofDoctrineExtensionsBundle设置Sluggable以生成基于slug的主键ID和名称字段

/**
 * @var string
 * @Gedmo\Slug(fields={"id","name"})
 * @ORM\Column(name="slug", type="string", length=255, unique=true)
 */
private $slug;

但是它不会生成类似id-name,只生成基于slug的名称。为什么会这样?

1 个答案:

答案 0 :(得分:2)

如果您的可缓慢监听器侦听Doctrine的 prePersist 操作......

...那么你的实体在那时没有id,因为它还没有持久化。

这解释了slug中缺少的 id

将SluggableListener设置为 postPersist ,它将按预期工作。

Gedmo/Sluggable/SluggableListener订阅的事件更改为postPersist。