在请求期间检索实体而不是持久化实体

时间:2018-05-31 07:21:08

标签: symfony doctrine api-platform.com

我使用api-platform并且我有一个与Writer有parse关系的Book实体。

所有作者都已存在于数据库中,因此我希望能够使用包含其绑定的编写器的POST请求创建Books。

但它一直试图坚持新作家。

我怎样才能做到这一点?

编辑:

图书

ManyToOne

作家(也称为属性)

/**
 *
 * @ORM\Entity(repositoryClass="App\Repository\BooksRepository")
 * @ApiResource(
 *     attributes={
 *          "normalization_context"={"groups"={"read"}}
 *      }
 *
 * )
 */
class Books
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Property", inversedBy="beans")
     * @ORM\JoinColumn(nullable=false)
     * @Groups({"read"})
     */
    private $property;

    public function getProperty(): ?Property
    {
        return $this->property;
    }

    public function setProperty(?Property $property): self
    {
        $this->property = $property;

        return $this;
    }
}

1 个答案:

答案 0 :(得分:0)

以下请求应该可以解决问题:

POST /books

{
  "property": "/writers/1"
}