如何更新ArrayCollection中实体所做的更改

时间:2014-10-30 19:48:30

标签: symfony doctrine-orm cascade

我有一个具有不同关联的User类。当我创建一个新的关联对象,AClass时,我执行以下操作:

$object = new AClass();
$user->addAClass($object);
$userManager->updateUser($user);

新对象在数据库中持久化(创建),因为我在YML选项文件中使用了选项cascade: ['persist']。我无法理解的是,如果我做了类似的事情,如何更新(数据库明智):

$AClasses = $user->getAClasses();
foreach ($AClasses as $object) {
    if ($object->hasCondition) {
        $object->setProperty($value);
    }
}
$userManager->updateUser($user);

我已经尝试cascade: ['refresh'],但一切都无效。

1 个答案:

答案 0 :(得分:1)

代码似乎很好;尝试更新.yml并设置为:

//A - in double quotes
cascade: ["persist"]

//B - new line
cascade
    - persist

//C - no quotes
cascade: [ persist ]

它绝对是.yml,因为我的类似代码可以工作,看起来就像你的(基于注释)。