用于抽象类的Sonata Admin:如何按子类属性进行过滤

时间:2019-04-23 13:00:31

标签: symfony sonata-admin

我的抽象实体具有Sonata管理员类。在列表视图中,我列出了两个子实体(客户,员工)。我可以通过抽象类属性(即电子邮件)过滤它们。效果很好。

但是我如何添加具有子实体之一属性的选择(或任何)过滤器?在此示例中,我想按client-> city进行过滤。

在我看来像是一个常见问题,但我找不到任何解决方案。


// parent class
abstract class Person {
 $email;
  ...
}

// child class
class Client extends Person {
 $city;
  ...
}

// child class
class Employee extends Person {
  ...
}


class PersonAdmin extends AbstractAdmin
{

  protected function configureDatagridFilters(DatagridMapper $datagridMapper)
  {
        $datagridMapper
            ->add('email')
            ->add('city'); // throw an error as it doesn't exist in the class Person
  }

...
}

1 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的解决方案,但这对我有用

group()