/**
  * @param string $categoryUids Comma separeted list of categories
  *
  * @return QueryResultInterface|array
  */
 public function findByCategories($categoryUids)
 {
     $categories = $this->categoryService->getSubCategories($categoryUids);
     $query = $this->createQuery();
     $query->getQuerySettings()->setRespectStoragePage(false);
     $constraints = [];
     $constraints[] = $query->in('categories.uid', $categories);
     $query->matching($query->logicalAnd($constraints));
     return $query->execute();
 }
 /**
  * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
  */
 protected function getCategories()
 {
     $categories = $this->categoryService->getSubCategories($this->settings['categories']);
     $categories = GeneralUtility::removeArrayEntryByValue($categories, $this->settings['categories']);
     $query = $this->categoryRepository->createQuery();
     $query->getQuerySettings()->setRespectStoragePage(false);
     $constraints = [];
     $constraints[] = $query->in('uid', $categories);
     $query->matching($query->logicalAnd($constraints));
     return $query->execute();
 }