src/WebBundle/Repository/ListMaterialRepository.php line 17

Open in your IDE?
  1. <?php
  2. namespace WebBundle\Repository;
  3. use Import1CBundle\Helper\v3\BiConst;
  4. /**
  5.  * Фильтр: Материал (Material)
  6.  */
  7. class ListMaterialRepository extends ListEntityRepository
  8. {
  9.     /**
  10.      * @param bool $full
  11.      * @return array|null
  12.      */
  13.     public function getList(bool $full false): ?array
  14.     {
  15.         $q $this->createQueryBuilder('l');
  16.         if (!$full) {
  17.             $q->where('l.hide != 1 AND l.count > 0');
  18.         } else {
  19.             $q->orderBy('l.hide''ASC');
  20.         }
  21.         $r $q->orderBy('l.sort DESC, l.name')
  22.             ->getQuery()
  23.             ->useQueryCache(true)
  24.             ->enableResultCache(3600);
  25.         return $r->getArrayResult();
  26.     }
  27.     /**
  28.      * @param bool $full
  29.      * @return array|null
  30.      */
  31.     public function getListForUpdate(bool $full false): ?array
  32.     {
  33.         $q $this
  34.             ->createQueryBuilder('l')
  35.             ->select('lower(l.name) name,l.id');
  36.         $r $q->orderBy('l.sort DESC, l.name')
  37.             ->getQuery()
  38.             ->useQueryCache($full)
  39.             ->enableResultCache(BiConst::EXPIRE_LIST_VAR);
  40.         return $r->getArrayResult();
  41.     }
  42.     /**
  43.      * @return array|null
  44.      */
  45.     public function getCoupleList(): ?array
  46.     {
  47.         $q $this
  48.             ->createQueryBuilder('l')
  49.             ->select('l.id,l.alias');
  50.         $r $q->getQuery()
  51.             ->useQueryCache(true)
  52.             ->enableResultCache(3600);
  53.         $items = [];
  54.         foreach ($r->getArrayResult() as $row) {
  55.             $items[$row['id']] = $row['alias'];
  56.         }
  57.         return $items;
  58.     }
  59. }