Php 带Symfony的Doctorine中的ReferenceMany

Php 带Symfony的Doctorine中的ReferenceMany,php,symfony,doctrine,Php,Symfony,Doctrine,我在用Symfony和学说 $members的注释(getMembers()返回此变量): 控制器:(我使用$form->submit) 我在表单中添加新成员并提交,但“$oldMembers”和“$newMembers”是相同的!这是不可取的 它们都引用了新数据(getMembers())。但我需要将$oldMembers与$newMembers分开。如何刷新?尝试如下刷新实体管理器: $em = $this->getDoctrine(); $em->refresh

我在用Symfony和学说

$members的注释(getMembers()返回此变量):

控制器:(我使用$form->submit)

我在表单中添加新成员并提交,但“$oldMembers”和“$newMembers”是相同的!这是不可取的


它们都引用了新数据(getMembers())。但我需要将$oldMembers与$newMembers分开。如何刷新?

尝试如下刷新实体管理器:

    $em = $this->getDoctrine();
    $em->refresh($project);
$project->addMember($member);
public function addMember(Member $member)
{
    $this->member[] = $member;

    return $this;
}

或者,如果刷新不起作用,您可以手动添加成员

您正在使用表单,但如果您可以像这样手动添加成员:

    $em = $this->getDoctrine();
    $em->refresh($project);
$project->addMember($member);
public function addMember(Member $member)
{
    $this->member[] = $member;

    return $this;
}
在实体中,可以使用如下方法:

    $em = $this->getDoctrine();
    $em->refresh($project);
$project->addMember($member);
public function addMember(Member $member)
{
    $this->member[] = $member;

    return $this;
}

我有相同的addMember。“$this->em->refresh($project);”为我生成了一个“内部服务器错误”。“注意:未定义的属性:…\\Controller\\ProjectController::$em”我不知道是否存在内部服务器错误,请尝试查看您的日志,我认为从表单保存时不会调用addMe,ber,“em”是“FOSRestController”的一部分?em是需要在某处定义它的EntityManager@Adel