1

我正在使用一个实体并扩展一个基类来处理修改日期、创建日期和删除日期——以及一个 modifiedBy、createdBy 和 deleteBy 字段。

当我创建记录时,它可以正常工作并填充 createdBy 和 createdDate。但是当我更新时,它不会设置 modifiedBy... 只有修改日期 - 即使我在 I 之前明确设置了 modifiedBy merge()

基类有生命周期回调(设置日期字段),控制器是我设置 *By 字段(createdBy、modifiedBy 和 deletedBy)的地方。

foreach ($form->get('analytics')->getData() as $analytic) {
    // Only set creator if not previously set
    if ($analytic->getCreatedBy() == null) {
        $analytic
            ->setPartner($partner)
            ->setCreatedBy($username);

        $em->persist($analytic);
    } else {
        $analytic->setModifiedBy($username);

        $em->merge($analytic);
    }
}

如果我persist()在更新时使用,它会复制记录(这就是我使用的原因merge())。

4

0 回答 0