我正在使用实体并扩展基类来处理修改日期,创建日期和删除日期 - 以及modifiedBy,createdBy和deleteBy字段。
当我创建记录时,它工作正常并填充createdBy和createdDate。但是当我更新时,它没有设置modifiedBy ...只修改了日期 - 即使我在merge()
之前明确设置modifiedBy。
基类具有生命周期回调(设置日期字段),控制器是我设置* 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()
的原因)。