В настоящее время я создаю простой REST API с помощью Symfony 4.
У меня есть объект с именем News
, который имеет отношение ManyToOne с объектом Startup
.
// News.php
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Startup", inversedBy="news")
* @ORM\JoinColumn(nullable=false)
*/
private $startup;
// Startup.php
/**
* @ORM\OneToMany(targetEntity="App\Entity\News", mappedBy="startup", orphanRemoval=true)
*/
private $news;
Я создаю конечную точку для добавления новых новостей (которая должна быть связана с одним запуском).
Итак, в настоящее время я отправляю запрос POST с данными такого типа
{
"title": "this is my title",
"startup": {
"id": 1,
"name": "My Startup"
}
}
Запуск Мой запуск с идентификатором 1 существует в моей базе данных, но Doctrine обнаруживает его как новый, пытается также сохранить новый запуск (так как объект запуска отсоединяется от диспетчера сущностей при отправке черезJSON).
Есть ли способ автоматически повторно присоединить объект запуска для Doctrine, чтобы понять, что мне нужно сохранить новые новости с существующим запуском? ( автоматически означаетчто я не хочу вручную запрашивать базу данных, чтобы получить прикрепленный объект )