Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * The repository for Trainings
- */
- class TrainingRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
- {
- public function findDemanded($demand) {
- $query = $this -> createQuery();
- $query -> getQuerySettings() -> setRespectStoragePage(FALSE);
- $constraints = $this -> createConstraintsFromDemand($query, $demand);
- if (!empty($constraints)) {
- $query -> matching(
- $query -> logicalAnd($constraints)
- );
- }
- return $query -> execute();
- }
- protected function createConstraintsFromDemand(\TYPO3\CMS\Extbase\Persistence\QueryInterface $query, $demand) {
- $constraints = array();
- $categories = $demand -> getCategories();
- if ((!empty($categories))) {
- $categoryConstraints = array();
- $categories = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(',', $categories, TRUE);
- foreach ($categories as $category) {
- $categoryConstraints[] = $query -> contains('categories', $category);
- }
- $constraints = $query -> logicalOr($categoryConstraints);
- }
- return $constraints;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment