Symfony 5 中的 Doctrine Gedmo-Extension (Timestampable, Softdeletable ...) 有替代品吗?

Posted

技术标签:

【中文标题】Symfony 5 中的 Doctrine Gedmo-Extension (Timestampable, Softdeletable ...) 有替代品吗?【英文标题】:Is there a replacement for the Doctrine Gedmo-Extension (Timestampable, Softdeletable ...) in Symfony 5? 【发布时间】:2021-08-19 17:59:03 【问题描述】:

使用之前版本的 Symfony (

例子:

    /**
     * @var \DateTime $createdAt
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(type="datetime")
     */
    private $createdAt;

如果应用到 Symfony5 项目中的实体上,这些注释似乎没有任何效果。是否已发布 Gedmo 扩展的替代品,或者是否有解决方法可用于避免手动设置具有当前时间戳的数据字段?

【问题讨论】:

你在使用stof/doctrine-extensions-bundle吗?它声称可以与 Symfony 4.4 - 5.2 一起使用,并且是一种将 Gedmo 与 Symfony 集成的方法。 您必须为每个扩展名configure the listeners。 @WillB。是的,我已经实施并激活了学说扩展包。 谢谢@msg。调整 stof_doctrine_extensions.yaml 就行了:stof_doctrine_extensions: default_locale: en_US orm: default: tree: true timestampable: true softdeleteable: true 【参考方案1】:

编辑 /config/packages/stof_doctrine_extensions.yaml 就可以了。我必须激活带时间戳的监听器:

stof_doctrine_extensions:
    default_locale: en_US
    orm:
        default:
            tree: true
            timestampable: true
            softdeleteable: true

【讨论】:

以上是关于Symfony 5 中的 Doctrine Gedmo-Extension (Timestampable, Softdeletable ...) 有替代品吗?的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 5(Doctrine 2.9),Doctrine 不会为 ManyToOne 自引用关系生成迁移

Symfony 5,Doctrine queryBuilder OneToMany 关系

Doctrine 2,Symfony 2 中的独特约束

Symfony 5 和 Doctrine,找不到使用 3 个相关实体获取结果的方法

Symfony/Doctrine 中的 SQL 注入

在 Doctrine2/Symfony2 中的重复条目上插入忽略