AdminExtension.php 588 B

123456789101112131415161718192021
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Doctrine\Access\Extensions;
  4. use App\Doctrine\Access\AccessExtensionInterface;
  5. use Doctrine\ORM\QueryBuilder;
  6. class AdminExtension implements AccessExtensionInterface {
  7. public function support(string $name): bool
  8. {
  9. return $name === 'cget_admin';
  10. }
  11. public function addWhere(QueryBuilder $queryBuilder)
  12. {
  13. $rootAlias = $queryBuilder->getRootAliases()[0];
  14. $queryBuilder->andWhere(sprintf('%s.adminAccess = :adminAccess', $rootAlias));
  15. $queryBuilder->setParameter('adminAccess', true);
  16. }
  17. }