symfony easyadmin query_builder статический метод inject token_storage

Я использую 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 форма поля типа сущности со списком фильтров

заранее спасибо

0 ответов

Другие вопросы по тегам