如何在 Sonata Admin Bundle 中向 configureListField 添加过滤器(createQuery 方法)

How to add filter to configureListField in Sonata Admin Bundle (createQuery method)

这是我的 ConfigureListFild :

我想在 ConfigureListFields 中显示我的帐户数据以及条件示例(其中类型='client')

protected function configureListFields(ListMapper $listMapper)
{
    // ... configure $listMapper
    $listMapper
        ->addIdentifier('raison_sociale')
        ->add('type')
        ->add('category.name')
        ->add('portable')
        ->add('ville_fac')
        ->add('professionnel')
        ->add('_action', 'actions', array(
        'actions' => array(
            'show' => array(),
            'edit' => array(),
            'delete' => array(),
        )
    ))
    ;
}

你能帮我按类型显示帐户列表吗 = "Client" ??

您需要在您的管理中覆盖 createQuery 方法 class 类似的东西;

public function createQuery($context = 'list')
{
        $query = parent::createQuery($context);
        $rootAlias = $query->getRootAliases()[0];

        $query->andWhere(
            $query->expr()->eq($rootAlias.'.type', ':type')
        );

        $query->setParameter(':type', 'Client');

        return $query;
}