3

StofDoctrineExtensionsBundle から Sluggable をセットアップして、スラッグ ベースの主キー 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を持っていません。

これは、スラッグに欠落しているidを説明しています。

SluggableListener をpostPersistに設定すると、希望どおりに機能します。

Gedmo /Sluggable/SluggableListenerのサブスクライブ イベントを postPersist に変更します。

于 2013-05-27T20:44:05.073 に答える