Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用api平台存储数据_Php_Rest_Api_Symfony_Api Platform.com - Fatal编程技术网

Php 使用api平台存储数据

Php 使用api平台存储数据,php,rest,api,symfony,api-platform.com,Php,Rest,Api,Symfony,Api Platform.com,我想存储一些对象,我传递了参数,但setter不起作用 我的实体如下所示: namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use JMS\DiExtraBundle\Annotation\Inject; use Symfony\Component\Serializer\Annotation\Groups; /** * Project * * @ORM\Table() * @ORM\Entity(reposito

我想存储一些对象,我传递了参数,但setter不起作用

我的实体如下所示:

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use JMS\DiExtraBundle\Annotation\Inject;
use Symfony\Component\Serializer\Annotation\Groups;
/**
 * Project
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="AppBundle\Entity\ProjectRepository")
 */
class Project
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @Groups({"Project"})
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=45)
     * @Groups({"Project"})
     */
    private $name;

    /**
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Project", cascade={"remove"})
     * @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
     * @Groups({"Project"})
     */
    private $parent;

    /**
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Status")
     * @ORM\JoinColumn(nullable=true)
     * @Groups({"Project"})
     */
    private $status;
还有我的服务。yml:

resource.project.search_filter:
    parent:    "api.doctrine.orm.search_filter"
    arguments: [ { id: "exact", name: "partial", parent: ~ } ]
resource.project.order_filter:
    parent:    "api.doctrine.orm.order_filter"
    arguments: [ { "id": ~, "name": ~ } ]

resource.project:
    parent:    "api.resource"
    arguments: [ "AppBundle\\Entity\\Project" ]
    calls:
        -      method:    initNormalizationContext
               arguments: [ { groups: [ Project ] } ]
        -      method:    "initFilters"
               arguments: [ [ "@resource.project.search_filter", "@resource.project.order_filter"] ]
    tags:      [ { name: "api.resource" } ]
我不明白POST请求是如何工作的,因为我的实体属性都没有定义


它适用于演示实体,但不适用于我的实体,我是否遗漏了一些注释?或者我的配置不完整

尝试按以下方式传递您的实体:

一刀

arguments: [ "AppBundle\Entity\Project" ]
或者,如果您将实体传递到存储库,请按以下步骤传递

参数:[“AppBundle:Project”]

并将以下注释放入您的存储库中

 * @ORM\Entity(repositoryClass="AppBundle\Repository\ProjectRepository")