src/Repository/SocietyGroupRepository.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use App\Entity\SocietyGroup;
  6. use App\Services\LogTools;
  7. class SocietyGroupRepository extends ServiceEntityRepository
  8. {
  9.     public function __construct(ManagerRegistry $registryLogTools $logTools)
  10.     {
  11.         parent::__construct($registrySocietyGroup::class);
  12.         $this->logTools $logTools;
  13.     }
  14.     public function getOrderedBy_QB($field null$order null)
  15.     {
  16.         $query $this->createQueryBuilder('object');
  17.         if ($field !== null)
  18.         {
  19.             if ($order !== null)
  20.             {
  21.                 $query->addOrderBy('object.'.$field$order);
  22.             }
  23.             else
  24.             {
  25.                 $query->addOrderBy('object.'.$field'ASC');
  26.             }
  27.         }
  28.         else
  29.         {
  30.             $query->addOrderBy('object.ref''ASC');
  31.         }
  32.         return $query;
  33.     }
  34.     public function getOrderedBy($field null$order null)
  35.     {
  36.         $query $this->getOrderedBy_QB($field$order);
  37.         return $query->getQuery()->getResult();
  38.     }
  39.     public function getApplicationSocietyGroup()
  40.     {
  41.         $query $this->createQueryBuilder('societyGroup');
  42.         $query->andWhere("societyGroup.application IS NOT NULL");
  43.         return $query->getQuery()->getResult();
  44.     }
  45.     public function countForActivity($activity)
  46.     {
  47.         $query $this->createQueryBuilder('societyGroup');
  48.         $query->select('COUNT(DISTINCT societyGroup)');
  49.         $query->join('societyGroup.activities''activity');
  50.         $query->where('activity.id = '.$activity->getId());
  51.         return $query->getQuery()->getSingleScalarResult();
  52.     }
  53.     public function getShareManagers_QB()
  54.     {
  55.         $query $this->createQueryBuilder('societyGroup');
  56.         $query->andWhere('societyGroup.isActive = 1');
  57.         $query->andWhere('societyGroup.rekto = 0');
  58.         $query->addOrderBy('societyGroup.ref''ASC');
  59.         return $query;
  60.     }
  61. //    /**
  62. //     * @return SocietyGroup[] Returns an array of SocietyGroup objects
  63. //     */
  64. //    public function findByExampleField($value): array
  65. //    {
  66. //        return $this->createQueryBuilder('s')
  67. //            ->andWhere('s.exampleField = :val')
  68. //            ->setParameter('val', $value)
  69. //            ->orderBy('s.id', 'ASC')
  70. //            ->setMaxResults(10)
  71. //            ->getQuery()
  72. //            ->getResult()
  73. //        ;
  74. //    }
  75. //    public function findOneBySomeField($value): ?SocietyGroup
  76. //    {
  77. //        return $this->createQueryBuilder('s')
  78. //            ->andWhere('s.exampleField = :val')
  79. //            ->setParameter('val', $value)
  80. //            ->getQuery()
  81. //            ->getOneOrNullResult()
  82. //        ;
  83. //    }
  84. }