Ojs\SiteBundle\Controller\IssueController::setupIssueSections PHP Метод

setupIssueSections() приватный Метод

private setupIssueSections ( Issue $issue ) : ArrayCollection
$issue Ojs\JournalBundle\Entity\Issue
Результат Doctrine\Common\Collections\ArrayCollection
    private function setupIssueSections(Issue $issue)
    {
        $sections = [];
        foreach ($issue->getJournal()->getSections() as $section) {
            $sectionHaveIssueArticle = false;
            foreach ($section->getArticles() as $article) {
                if ($article->getIssue() !== null) {
                    if ($article->getIssue()->getId() == $issue->getId()) {
                        $sectionHaveIssueArticle = true;
                    }
                }
            }
            if ($sectionHaveIssueArticle) {
                $sections[] = $section;
            }
        }
        //order sections by section order
        uasort($sections, function ($a, $b) {
            return (int) $a->getSectionOrder() > (int) $b->getSectionOrder() ? 1 : -1;
        });
        return $sections;
    }