@Gedmo\Timestampable(on="create") アノテーションを使用してエンティティを作成しようとすると、「SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'created' cannot be null」というメッセージが表示されます
また、Gedmo\Slug では機能しません。
デフォルトのエンティティマネージャーを使用している場合は機能しますが、マスターまたは作成を使用している場合は機能しません。
私の config.yml には、次の構成があります。
stof_doctrine_extensions:
default_locale: en
translation_fallback: true
orm:
default:
timestampable: true
sluggable: true
master:
timestampable: true
sluggable: true
creation:
timestampable: true
sluggable: true
私のservices.ymlには次のものがあります:
gedmo.listener.timestampable:
class: Gedmo\Timestampable\TimestampableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
- { name: doctrine.event_subscriber, connection: creation }
- { name: doctrine.event_subscriber, connection: master }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
gedmo.listener.sluggable:
class: Gedmo\Sluggable\SluggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
- { name: doctrine.event_subscriber, connection: master }
- { name: doctrine.event_subscriber, connection: creation }
calls:
- [ setAnnotationReader, [ @annotation_reader ] ]
event_subscriber が正しく機能していないようです。
StofDoctrineExtensionsBundle で Symfony 2.3.2 を実行しています。
スラッグを作成するためのエンティティには次のものがあります。
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var string
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(name="slug", type="string", length=255, unique=true)
*/
private $slug;
作成されたエンティティには次のものがあります。
/**
* @var \DateTime
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="created", type="datetime")
*/
private $created;
何か案は?