我正在使用一个实体并扩展一个基类来处理修改日期、创建日期和删除日期——以及一个 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()
)。