Ojs\JournalBundle\Entity\JournalRepository::all PHP Метод

all() публичный Метод

public all ( )
    public function all()
    {
        $this->setCurrentPage($this->getOffset());
        $qb = $this->createQueryBuilder('j');
        $qb->select('count(j.id)')->where($qb->expr()->eq('j.status', ':status'))->setParameter('status', 3);
        if (isset($this->getFilter()['subject'])) {
            $subjects = $this->getFilter()['subject'];
            foreach ($subjects as $key => $subject) {
                $qb->join('j.subjects', 's_' . $key, 'WITH', 's_' . $key . '.slug=:subject_' . $key)->setParameter('subject_' . $key, $subject);
            }
        }
        if (isset($this->getFilter()['publisher_type'])) {
            $publishers = $this->getFilter()['publisher_type'];
            foreach ($publishers as $key => $publisher) {
                $qb->join('j.publisher', 'i_' . $key)->join('i_' . $key . '.publisherType', 'it_' . $key, 'WITH', 'it_' . $key . '.slug=:publisher_type_slug_' . $key)->setParameter('publisher_type_slug_' . $key, $publisher);
            }
        }
        if ($this->getPublisher()) {
            $qb->join('j.publisher', 'inst', 'WITH', 'inst.slug=:publisher')->setParameter('publisher', $this->getPublisher());
        }
        $this->setCount($qb->getQuery()->getSingleScalarResult());
        $qb->select('j')->setFirstResult($this->getStart())->setMaxResults($this->getOffset());
        return $qb->getQuery()->getResult();
    }