Guest User

Untitled

a guest
Apr 20th, 2018
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.21 KB | None | 0 0
  1.  
  2. /**
  3.  * The repository for Trainings
  4.  */
  5. class TrainingRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
  6. {
  7. public function findDemanded($demand) {
  8.         $query = $this -> createQuery();
  9.         $query -> getQuerySettings() -> setRespectStoragePage(FALSE);
  10.         $constraints = $this -> createConstraintsFromDemand($query, $demand);
  11.         if (!empty($constraints)) {
  12.             $query -> matching(
  13.             $query -> logicalAnd($constraints)
  14.         );
  15.         }
  16.         return $query -> execute();
  17.     }
  18.        
  19.        
  20.     protected function createConstraintsFromDemand(\TYPO3\CMS\Extbase\Persistence\QueryInterface $query, $demand) {
  21.         $constraints = array();
  22.        
  23.         $categories = $demand -> getCategories();
  24.         if ((!empty($categories))) {
  25.             $categoryConstraints = array();
  26.             $categories = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(',', $categories, TRUE);
  27.             foreach ($categories as $category) {
  28.                 $categoryConstraints[] = $query -> contains('categories', $category);
  29.             }
  30.             $constraints = $query -> logicalOr($categoryConstraints);
  31.         }
  32.         return $constraints;
  33.     }
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment