尝试使用 @Gedmo\Timestampable(on="create") 注释创建实体时,我收到“SQLSTATE[23000]:完整性约束违规:1048 列‘创建’不能为空”
它也不适用于 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。
创建 slug 的实体有:
/**
* @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;
created 的实体有这个:
/**
* @var \DateTime
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="created", type="datetime")
*/
private $created;
有任何想法吗?