/** * Performs a logical conjunction of the given constraints. The method takes one or more contraints and concatenates them with a boolean AND. * It also scepts a single array of constraints to be concatenated. * * @param mixed $constraint1 The first of multiple constraints or an array of constraints. * @throws InvalidNumberOfConstraintsException * @return \TYPO3\CMS\Extbase\Persistence\Generic\Qom\AndInterface * @api */ public function logicalAnd($constraint1) { if (is_array($constraint1)) { $resultingConstraint = array_shift($constraint1); $constraints = $constraint1; } else { $constraints = func_get_args(); $resultingConstraint = array_shift($constraints); } if ($resultingConstraint === NULL) { throw new InvalidNumberOfConstraintsException('There must be at least one constraint or a non-empty array of constraints given.', 1401289500); } foreach ($constraints as $constraint) { $resultingConstraint = $this->qomFactory->_and($resultingConstraint, $constraint); } return $resultingConstraint; }
/** * Performs a logical conjunction of the given constraints. The method takes one or more contraints and concatenates them with a boolean AND. * It also scepts a single array of constraints to be concatenated. * * @param mixed $constraint1 The first of multiple constraints or an array of constraints. * @throws Exception\InvalidNumberOfConstraintsException * @return \TYPO3\CMS\Extbase\Persistence\Generic\Qom\AndInterface * @api */ public function logicalAnd($constraint1) { if (is_array($constraint1)) { $resultingConstraint = array_shift($constraint1); $constraints = $constraint1; } else { $constraints = func_get_args(); $resultingConstraint = array_shift($constraints); } if ($resultingConstraint === NULL) { throw new \TYPO3\CMS\Extbase\Persistence\Generic\Exception\InvalidNumberOfConstraintsException('There must be at least one constraint or a non-empty array of constraints given.', 1268056288); } foreach ($constraints as $constraint) { $resultingConstraint = $this->qomFactory->_and($resultingConstraint, $constraint); } return $resultingConstraint; }