Symfony 4“通过给定的关联图发现了多个非持久的新实体:”

时间:2018-12-07 15:17:21

标签: symfony doctrine cascade

$added_obj = []; 
foreach ($something as $data) {
    $obj = $this->class->function($data, $par2);

    if (null !== $obj && !(array_key_exists
    (->getVal1(), $added_obj[$obj->getVal1()] === $$obj->getVal2())) {
        $this->persister->persist($obj);
        $added_bank_account[$obj->getVal1()] = $obj->getVal2();
    } else {

    }
}

代码的作用:它调用一个返回实体或null的函数。如果创建了一个实体,则检查数组中是否已经存在2个值(如果不存在),则将其持久化并将这2个值作为键/值对添加到数组中。

但是,当创建一个实体并且该实体已经存在于数组中时,我不希望将其持久化,但是我不希望对其进行任何操作。

但是,当我绝对使用零时,我得到了错误: 通过给定的关联图发现了多个非持久的新实体:

  • 通过“ MyCompany \ Client \ Entity \ Client#something”关系发现了一个新实体,该关系未配置为级联实体的持久性操作:

之所以有意义,是因为学说不知道如何处理所创建的实体。我如何“破坏”创建的实体,以便解决问题。

仅创建一个对象时,一切正常。

1 个答案:

答案 0 :(得分:0)

根据您的情况,您可以简单地merge中的clear上的entity

ex:

EntityManager

OR

$em->merge($obj);