我有实体类Post,它包含字段id
和old_id
,因为当用户创建新帖子并保存时,另一个用户可以编辑同一个帖子并提交以供审核,但第二次编辑应该在原始用户验证之前不会对原始帖子产生影响,然后当原始用户验证并批准此编辑的帖子时,它应该合并/更新原始帖子。所以我创建了这两个字段来跟踪一个帖子是另一个帖子的副本,所以一旦作者批准了第二篇帖子我就可以更新原帖并丢弃重复。
我设法用
复制帖子public function __clone() {
$this->id = null;
}
用它复制。
// copying from old post
$new_post = clone $post;
// set original id
$new_post->setOriginalId($post->getId());
//save
$em = $this->getDoctrine()->getManager();
$em->persist($new_post);
$em->flush();
一切都很好,但是现在当作者批准原帖时,如何用重复帖子的数据更新真实帖子。
$original_post = $repository->find($new_post->getOriginaId());
//now i want to merge all $new_post datas to this $original_post
// and update $original_post