Symfony API创建与现有实体有关的实体

时间:2018-06-02 14:31:20

标签: php api symfony

我有一个包含两个实体的Symfony API:Apartment和User。 公寓实体有一个名为owner的字段,该字段是User对象。

private $owner;

我想创建一个与ID为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 :(得分:1)

{id: "8"}应该与JMS一起使用,确保使用正确的组。

并确保使用doctrine object constructor

services:
    jms_serializer.object_constructor:
        alias: jms_serializer.doctrine_object_constructor