0

我使用 symfony 3.4 和 easycorp/easyadmin-bundle 1.17

我正在尝试对 query_builder 选项使用静态函数:

form:
    fields:
        ...
        - { property: 'customer', label: '', type_options: { query_builder: ['AppBundle\Repository\PersonRepository', 'getCustomer'] } }

存储库:

class PersonRepository extends EntityRepository
{
    public static function getCustomer(EntityRepository $er)
    {
        //        dump($tokeStorage);
        dump($er);
        die;
        $user = null; // how to get token_storage ?
        $query = $er->createQueryBuilder('person')
            ->leftJoin('person.userCreated', 'user')
            ->andWhere('person.type = :type')
            ->setParameter('type', 2)
        ;
        if (in_array("ROLE_ADMIN", $user->getRoles())) {
            $query->andWhere('user.company = :company');
            $query->setParameter('company', $user->getCompany());
        } else {
            $query->andWhere('user.id = :user');
            $query->setParameter('user', $user->getId());
        }

        return $query;
    }
}

我需要注入令牌存储,我该怎么办?

我打开了 3 个围绕该主题的帖子,或者我认为“静态”解决方案不是一个好的解决方案,但 3 个解决方案都没有给我预期的结果

[ symfony easyadmin 自定义表单生成器

[带有过滤列表的 symfony easyadmin 表单字段类型实体

提前致谢

4

0 回答 0