3

我正在尝试从 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 的名称。为什么会这样?

4

1 回答 1

2

如果你的sluggable 监听器监听 Doctrine 的prePersist操作......

...那么您的实体此时确实没有 id,因为它尚未持久化。

这解释了 slug 中缺少的id

将 SluggableListener 设置为postPersist,它将按需要工作。

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

于 2013-05-27T20:44:05.073 回答