在教义中如何在子实体之间移动子实体?

时间:2018-11-25 15:37:54

标签: php doctrine-orm

我有这样的代码:

/**
 * @Entity @Table(name="Record")
 */
class Record
{
public function setParent(Parent $p)
{
    $this->parent = $p;
}
/** @Id @Column(type="integer") @GeneratedValue **/
private $id;
/**  @ManyToOne(targetEntity="\Domain\Model\Parent", inversedBy="childs")
 * @JoinColumn(name="parent" referencedColumnName="id", onDelete="SET NULL")
 */
private $parent;
}

和父类:

/**
 * @Entity @Table(name="Parent")
 **/
class Parent
{


 public function getChilds():array
    {
    return $this->childs->getValues();
    }
/** @Id @Column(type="integer") @GeneratedValue **/
private $id;
    /**
    * @OneToMany(targetEntity="\Domain\Model\Record, mappedBy="parent")
    */
    private $childs;
}

我想将孩子从一位父母转移到另一位父母。当我以这种方式执行此操作时,对数据库没有任何影响:

public function move(Parent $from, Parent $to)
{
    foreach($from->getChilds() as $child)
    {
    $child->setParent($to);
    $entityManager->persist($child);
    }
}

我应该怎么做?为什么学说会忽略这些变化?

0 个答案:

没有答案