我正在尝试从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的名称。为什么会这样?
答案 0 :(得分:2)
如果您的可缓慢监听器侦听Doctrine的 prePersist 操作......
...那么你的实体在那时没有id,因为它还没有持久化。
这解释了slug中缺少的 id 。
将SluggableListener设置为 postPersist ,它将按预期工作。
将Gedmo/Sluggable/SluggableListener订阅的事件更改为postPersist。