Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Symfony 只有值为true的POST元素_Symfony_Api Platform.com - Fatal编程技术网

Symfony 只有值为true的POST元素

Symfony 只有值为true的POST元素,symfony,api-platform.com,Symfony,Api Platform.com,我正在使用Api平台作为项目的后端。它从一个名为“Voiture”的类发送数据。但我不需要“Voiture”的所有元素,这个类有一个名为parking的布尔元素 我只想把元素发送到Parked=true的地方。 如果有可能做到这一点,我认为从接收端过滤数据是不切实际的 这是我的“Voiture”课程: 是的,存储库具有按任何条件查找实体的方法。在控制器中,您将需要以下内容: use App\Entity\Voiture; ... $repository = $this->getDoc

我正在使用Api平台作为项目的后端。它从一个名为“Voiture”的类发送数据。但我不需要“Voiture”的所有元素,这个类有一个名为parking的布尔元素

我只想把元素发送到Parked=true的地方。 如果有可能做到这一点,我认为从接收端过滤数据是不切实际的

这是我的“Voiture”课程:


是的,存储库具有按任何条件查找实体的方法。在控制器中,您将需要以下内容:

use App\Entity\Voiture;
...

  $repository = $this->getDoctrine()->getRepository(Voiture::class);

  $parkedVoitures = $repository->findBy(
    ['parked' => true]
  );
  $parkedVoituresOrderedByMatricule = $repository->findBy(
    ['parked' => true],
    ['matricule' => 'ASC']
  );

也许您正在寻找个性化的注释,我使用api平台,特别是GraphQL,所以我不需要所有的行,因为我有一个逻辑删除,没有物理删除。我们不是制定业务规则,任何开发人员都可以对其进行自己的解释,而是进行个人注释


看到这个,这个链接也适用于SF4。

所以我最终找到了一个解决方案,结果是有一个Api平台的注释可以过滤布尔数据。 我刚刚将下面的注释添加到我的类中,当我将?parked=true添加到我的地址时,注释就起作用了,而且效果很好

 * @ApiFilter(BooleanFilter::class,
 *  properties={
 * "parked"
 * }
 * )

等等,你问题的内容是关于从后端获取实体,但是你的标题是“POST”,你从哪里发送数据?在我的例子中,我没有使用控制器,我使用的是使用注释的APIplatform
 * @ApiFilter(BooleanFilter::class,
 *  properties={
 * "parked"
 * }
 * )