我使用 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 表单字段类型实体
提前致谢