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