Symfony 过滤一家公司收藏

Symfony 过滤一家公司收藏,symfony,doctrine-orm,api-platform.com,Symfony,Doctrine Orm,Api Platform.com,我目前正在尝试过滤我的OneToMany收藏结果,但运气不好 我已经试着设置了一个过滤器,如中所述,但没有效果。 有了下面的代码,我只能在Foos集合/api/Foos@PolDellaiera上进行筛选,但我在两年前发布了这篇文章,现在api平台的整个设置非常不同。更重要的是,文档更加完整,过滤系统现在更加健壮。如果你看看这些文件,我相信你会同意的。 // config/packages/api_filters.yaml services: filters.retired_filter

我目前正在尝试过滤我的OneToMany收藏结果,但运气不好

我已经试着设置了一个过滤器,如中所述,但没有效果。
有了下面的代码,我只能在
Foos
集合/api/Foos@PolDellaiera上进行筛选,但我在两年前发布了这篇文章,现在api平台的整个设置非常不同。更重要的是,文档更加完整,过滤系统现在更加健壮。如果你看看这些文件,我相信你会同意的。
// config/packages/api_filters.yaml
services:
    filters.retired_filter:
            parent: 'api_platform.doctrine.orm.boolean_filter'
            arguments: [ { bars.isRetired: ~ } ]
            tags: [ 'api_platform.filter' ]


// src/Entity/Foo.php

/* @ApiResource(attributes={"filters"={"filters.retired_filter"}}) */
class Foo
{
    private $id;
    private $name;
    /** @ORM\OneToMany(targetEntity="Bars", mappedBy="foo") */
    private $bars;
    public function __construct(){
        $this->bars = new ArrayCollection();
    }
}

// src/Entity/Bar.php

/* @ApiResource() */
class Bar
{
    private $id;
    private $name;
    /* @ORM\Column(name="is_retired", type="boolean") */
    private $isRetired;
    /* @ORM\ManyToOne(targetEntity="Foo", inversedBy="bars") */
    private $foo;
}