Symfony API создает сущность по отношению к существующим сущностям - PullRequest
0 голосов
/ 02 июня 2018

У меня есть Symfony API с двумя сущностями: квартира и пользователь.В квартире объекта есть поле с именем владельца, который является объектом пользователя.

private $owner;

Я хочу создать квартиру, связанную с владельцем с идентификатором 8. Я отправляю этот JSON:

{
"title": "Appartement n°144",
"description": "Description de l'appartement 144",
"rooms": 2,
"area": 11.2,
"price": 101.2,
"visible": true,
"location": {
    "latitude": 0,
    "longitude": 0,
    "altitude": 0
},
"owner": 8

}

Я также пытался изменить «владелец»: 8 на «8» или «владелец»: {id: «8»}, но у меня всегда есть эта ошибка:

{
"error": {
    "code": 400,
    "message": "Bad Request",
    "exception": [
        {
            "message": "Invalid data \"8\"(integer), expected \"HGB\\CoreBundle\\Entity\\User\".",
            "class": "Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException",

Если у кого-то есть советы.

Вот мой контроллер:

public function addOneAppartment(Appartment $appartment)
{
    $manager = $this->getDoctrine()->getManager();
    $manager->persist($appartment);
    $manager->flush();

    return $appartment;
}

1 Ответ

0 голосов
/ 02 июня 2018

{id: "8"} должен работать с JMS, убедитесь, что вы используете правильные группы.

И обязательно используйте конструктор объекта доктрины :

services:
    jms_serializer.object_constructor:
        alias: jms_serializer.doctrine_object_constructor
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...