Как перемещать дочерние объекты между родительскими объектами в Doctrine?

У меня такой код:

/**
 * @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);
    }
}

Как мне это сделать? Почему доктрина игнорирует изменения?

Вам понадобится $ entityManager-> flush (); сразу после блока foreach. doctrine-project.org/projects/doctrine-orm/en/2.6/reference/‌…

Jannes Botis 27.11.2018 21:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
57
0

Другие вопросы по теме