‪TYPO3CMS  10.4
Query.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
33 
37 class ‪Query implements ‪QueryInterface
38 {
42  const ‪JCR_JOIN_TYPE_INNER = '{http://www.jcp.org/jcr/1.0}joinTypeInner';
43 
47  const ‪JCR_JOIN_TYPE_LEFT_OUTER = '{http://www.jcp.org/jcr/1.0}joinTypeLeftOuter';
48 
52  const ‪JCR_JOIN_TYPE_RIGHT_OUTER = '{http://www.jcp.org/jcr/1.0}joinTypeRightOuter';
53 
57  const ‪CHARSET = 'utf-8';
58 
62  protected ‪$type;
63 
67  protected ‪$objectManager;
68 
72  protected ‪$dataMapFactory;
73 
78 
82  protected ‪$qomFactory;
83 
87  protected ‪$source;
88 
92  protected ‪$constraint;
93 
97  protected ‪$statement;
98 
102  protected ‪$orderings = [];
103 
107  protected ‪$limit;
108 
112  protected ‪$offset;
113 
119  protected ‪$querySettings;
120 
125  protected ‪$parentQuery;
126 
131  {
132  $this->objectManager = ‪$objectManager;
133  }
134 
139  {
140  $this->dataMapFactory = ‪$dataMapFactory;
141  }
142 
147  {
148  $this->persistenceManager = ‪$persistenceManager;
149  }
150 
154  public function ‪injectQomFactory(QueryObjectModelFactory ‪$qomFactory)
155  {
156  $this->qomFactory = ‪$qomFactory;
157  }
158 
164  public function ‪__construct(‪$type)
165  {
166  $this->type = ‪$type;
167  }
168 
173  public function ‪getParentQuery(): ?QueryInterface
174  {
175  return ‪$this->parentQuery;
176  }
177 
182  public function ‪setParentQuery(?QueryInterface ‪$parentQuery): void
183  {
184  $this->parentQuery = ‪$parentQuery;
185  }
186 
193  public function ‪setQuerySettings(QuerySettingsInterface ‪$querySettings)
194  {
195  $this->querySettings = ‪$querySettings;
196  }
197 
204  public function ‪getQuerySettings()
205  {
206  if (!$this->querySettings instanceof ‪QuerySettingsInterface) {
207  throw new ‪Exception('Tried to get the query settings without setting them before.', 1248689115);
208  }
210  }
211 
217  public function ‪getType()
218  {
219  return ‪$this->type;
220  }
221 
228  {
229  $this->source = ‪$source;
230  }
231 
238  protected function ‪getSelectorName()
239  {
240  ‪$source = $this->‪getSource();
241  if (‪$source instanceof ‪SelectorInterface) {
242  return ‪$source->getSelectorName();
243  }
244  return '';
245  }
246 
252  public function ‪getSource()
253  {
254  if ($this->source === null) {
255  $this->source = $this->qomFactory->selector($this->‪getType(), $this->dataMapFactory->buildDataMap($this->getType())->getTableName());
256  }
257  return ‪$this->source;
258  }
259 
266  public function ‪execute($returnRawQueryResult = false)
267  {
268  if ($returnRawQueryResult) {
269  return $this->persistenceManager->getObjectDataByQuery($this);
270  }
271  return $this->objectManager->get(QueryResultInterface::class, $this);
272  }
273 
285  public function ‪setOrderings(array ‪$orderings)
286  {
287  $this->orderings = ‪$orderings;
288  return $this;
289  }
290 
300  public function ‪getOrderings()
301  {
302  return ‪$this->orderings;
303  }
304 
313  public function ‪setLimit(‪$limit)
314  {
315  if (!is_int(‪$limit) || ‪$limit < 1) {
316  throw new \InvalidArgumentException('The limit must be an integer >= 1', 1245071870);
317  }
318  $this->limit = ‪$limit;
319  return $this;
320  }
321 
328  public function ‪unsetLimit()
329  {
330  unset($this->limit);
331  return $this;
332  }
333 
339  public function ‪getLimit()
340  {
341  return ‪$this->limit;
342  }
343 
352  public function ‪setOffset(‪$offset)
353  {
354  if (!is_int(‪$offset) || ‪$offset < 0) {
355  throw new \InvalidArgumentException('The offset must be a positive integer', 1245071872);
356  }
357  $this->offset = ‪$offset;
358  return $this;
359  }
360 
366  public function ‪getOffset()
367  {
368  return ‪$this->offset;
369  }
370 
378  public function ‪matching(‪$constraint)
379  {
380  $this->constraint = ‪$constraint;
381  return $this;
382  }
383 
392  public function ‪statement(‪$statement, array $parameters = [])
393  {
394  $this->‪statement = $this->qomFactory->statement(‪$statement, $parameters);
395  return $this;
396  }
397 
403  public function ‪getStatement()
404  {
405  return ‪$this->statement;
406  }
407 
413  public function ‪getConstraint()
414  {
416  }
417 
428  public function ‪logicalAnd($constraint1, $constraint2 = null, ...$furtherConstraints)
429  {
430  /*
431  * todo: Deprecate accepting an array as $constraint1
432  * Add param type hints for $constraint1 and $constraint2
433  * Make $constraint2 mandatory
434  * Add AndInterface return type hint
435  * Adjust method signature in interface
436  */
437  $constraints = [];
438  if (is_array($constraint1)) {
439  $constraints = array_merge($constraints, $constraint1);
440  } else {
441  $constraints[] = $constraint1;
442  }
443 
444  $constraints[] = $constraint2;
445  $constraints = array_merge($constraints, $furtherConstraints);
446  $constraints = array_filter($constraints, function (‪$constraint) {
447  return ‪$constraint instanceof ConstraintInterface;
448  });
449 
450  // todo: remove this check as soon as first and second constraint are mandatory
451  if (‪count($constraints) < 1) {
452  throw new InvalidNumberOfConstraintsException('There must be at least one constraint or a non-empty array of constraints given.', 1268056288);
453  }
454 
455  $resultingConstraint = array_shift($constraints);
456  foreach ($constraints as ‪$constraint) {
457  $resultingConstraint = $this->qomFactory->_and($resultingConstraint, ‪$constraint);
458  }
459  return $resultingConstraint;
460  }
461 
471  public function ‪logicalOr($constraint1, $constraint2 = null, ...$furtherConstraints)
472  {
473  /*
474  * todo: Deprecate accepting an array as $constraint1
475  * Add param type hints for $constraint1 and $constraint2
476  * Make $constraint2 mandatory
477  * Add AndInterface return type hint
478  * Adjust method signature in interface
479  */
480  $constraints = [];
481  if (is_array($constraint1)) {
482  $constraints = array_merge($constraints, $constraint1);
483  } else {
484  $constraints[] = $constraint1;
485  }
486 
487  $constraints[] = $constraint2;
488  $constraints = array_merge($constraints, $furtherConstraints);
489  $constraints = array_filter($constraints, function (‪$constraint) {
490  return ‪$constraint instanceof ConstraintInterface;
491  });
492 
493  // todo: remove this check as soon as first and second constraint are mandatory
494  if (‪count($constraints) < 1) {
495  throw new InvalidNumberOfConstraintsException('There must be at least one constraint or a non-empty array of constraints given.', 1268056289);
496  }
497 
498  $resultingConstraint = array_shift($constraints);
499  foreach ($constraints as ‪$constraint) {
500  $resultingConstraint = $this->qomFactory->_or($resultingConstraint, ‪$constraint);
501  }
502  return $resultingConstraint;
503  }
504 
513  {
514  return $this->qomFactory->not(‪$constraint);
515  }
516 
525  public function ‪equals($propertyName, $operand, $caseSensitive = true)
526  {
527  if (is_object($operand) || $caseSensitive) {
528  $comparison = $this->qomFactory->comparison(
529  $this->qomFactory->propertyValue($propertyName, $this->getSelectorName()),
531  $operand
532  );
533  } else {
534  $comparison = $this->qomFactory->comparison(
535  $this->qomFactory->lowerCase($this->qomFactory->propertyValue($propertyName, $this->getSelectorName())),
537  mb_strtolower($operand, \‪TYPO3\CMS\‪Extbase\Persistence\Generic\‪Query::CHARSET)
538  );
539  }
540  return $comparison;
541  }
542 
550  public function ‪like($propertyName, $operand)
551  {
552  return $this->qomFactory->comparison(
553  $this->qomFactory->propertyValue($propertyName, $this->getSelectorName()),
555  $operand
556  );
557  }
558 
567  public function ‪contains($propertyName, $operand)
568  {
569  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_CONTAINS, $operand);
570  }
571 
581  public function ‪in($propertyName, $operand)
582  {
584  throw new ‪UnexpectedTypeException('The "in" operator must be given a multivalued operand (array, ArrayAccess, Traversable).', 1264678095);
585  }
586  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_IN, $operand);
587  }
588 
596  public function ‪lessThan($propertyName, $operand)
597  {
598  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_LESS_THAN, $operand);
599  }
600 
608  public function ‪lessThanOrEqual($propertyName, $operand)
609  {
610  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_LESS_THAN_OR_EQUAL_TO, $operand);
611  }
612 
620  public function ‪greaterThan($propertyName, $operand)
621  {
622  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_GREATER_THAN, $operand);
623  }
624 
632  public function ‪greaterThanOrEqual($propertyName, $operand)
633  {
634  return $this->qomFactory->comparison($this->qomFactory->propertyValue($propertyName, $this->getSelectorName()), ‪QueryInterface::OPERATOR_GREATER_THAN_OR_EQUAL_TO, $operand);
635  }
636 
646  public function ‪between($propertyName, $operandLower, $operandUpper)
647  {
648  return $this->‪logicalAnd(
649  $this->‪greaterThanOrEqual($propertyName, $operandLower),
650  $this->‪lessThanOrEqual($propertyName, $operandUpper)
651  );
652  }
653 
657  public function ‪__wakeup()
658  {
659  $this->objectManager = GeneralUtility::makeInstance(ObjectManager::class);
660  $this->persistenceManager = $this->objectManager->get(PersistenceManagerInterface::class);
661  $this->dataMapFactory = $this->objectManager->get(DataMapFactory::class);
662  $this->qomFactory = $this->objectManager->get(QueryObjectModelFactory::class);
663  }
664 
669  public function ‪__sleep()
670  {
671  return ['type', 'source', 'constraint', 'statement', 'orderings', 'limit', 'offset', 'querySettings'];
672  }
673 
679  public function ‪count()
680  {
681  return $this->‪execute()->count();
682  }
683 
691  public function ‪isEmpty($propertyName)
692  {
693  throw new NotImplementedException(__METHOD__, 1476122265);
694  }
695 }
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\injectPersistenceManager
‪injectPersistenceManager(PersistenceManagerInterface $persistenceManager)
Definition: Query.php:133
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_LIKE
‪const OPERATOR_LIKE
Definition: QueryInterface.php:73
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$parentQuery
‪QueryInterface null $parentQuery
Definition: Query.php:112
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setOffset
‪QueryInterface setOffset($offset)
Definition: Query.php:339
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_GREATER_THAN_OR_EQUAL_TO
‪const OPERATOR_GREATER_THAN_OR_EQUAL_TO
Definition: QueryInterface.php:68
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getStatement
‪TYPO3 CMS Extbase Persistence Generic Qom Statement getStatement()
Definition: Query.php:390
‪TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface
Definition: PersistenceManagerInterface.php:22
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:18
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\in
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface in($propertyName, $operand)
Definition: Query.php:568
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\injectDataMapFactory
‪injectDataMapFactory(DataMapFactory $dataMapFactory)
Definition: Query.php:125
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setLimit
‪QueryInterface setLimit($limit)
Definition: Query.php:300
‪TYPO3\CMS\Extbase\Persistence\QueryInterface
Definition: QueryInterface.php:29
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$querySettings
‪QuerySettingsInterface $querySettings
Definition: Query.php:107
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getOffset
‪int getOffset()
Definition: Query.php:353
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getParentQuery
‪QueryInterface getParentQuery()
Definition: Query.php:160
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\lessThan
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface lessThan($propertyName, $operand)
Definition: Query.php:583
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_GREATER_THAN
‪const OPERATOR_GREATER_THAN
Definition: QueryInterface.php:63
‪TYPO3
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\logicalOr
‪TYPO3 CMS Extbase Persistence Generic Qom OrInterface logicalOr($constraint1, $constraint2=null,... $furtherConstraints)
Definition: Query.php:458
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$objectManager
‪TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
Definition: Query.php:65
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\like
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface like($propertyName, $operand)
Definition: Query.php:537
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_IN
‪const OPERATOR_IN
Definition: QueryInterface.php:83
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\logicalAnd
‪TYPO3 CMS Extbase Persistence Generic Qom AndInterface logicalAnd($constraint1, $constraint2=null,... $furtherConstraints)
Definition: Query.php:415
‪TYPO3\CMS\Extbase\Persistence\Generic\Qom\QueryObjectModelFactory
Definition: QueryObjectModelFactory.php:27
‪TYPO3\CMS\Extbase\Persistence\Generic\Qom\SourceInterface
Definition: SourceInterface.php:22
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\logicalNot
‪TYPO3 CMS Extbase Persistence Generic Qom NotInterface logicalNot(ConstraintInterface $constraint)
Definition: Query.php:499
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\JCR_JOIN_TYPE_RIGHT_OUTER
‪const JCR_JOIN_TYPE_RIGHT_OUTER
Definition: Query.php:52
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\__sleep
‪array __sleep()
Definition: Query.php:656
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$persistenceManager
‪TYPO3 CMS Extbase Persistence PersistenceManagerInterface $persistenceManager
Definition: Query.php:73
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$offset
‪int $offset
Definition: Query.php:101
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\greaterThan
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface greaterThan($propertyName, $operand)
Definition: Query.php:607
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\statement
‪QueryInterface statement($statement, array $parameters=[])
Definition: Query.php:379
‪TYPO3\CMS\Extbase\Object\ObjectManagerInterface
Definition: ObjectManagerInterface.php:26
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_LESS_THAN_OR_EQUAL_TO
‪const OPERATOR_LESS_THAN_OR_EQUAL_TO
Definition: QueryInterface.php:58
‪TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapFactory
Definition: DataMapFactory.php:42
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\injectQomFactory
‪injectQomFactory(QueryObjectModelFactory $qomFactory)
Definition: Query.php:141
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setParentQuery
‪setParentQuery(?QueryInterface $parentQuery)
Definition: Query.php:169
‪TYPO3\CMS\Extbase\Persistence\Generic\Exception\InvalidNumberOfConstraintsException
Definition: InvalidNumberOfConstraintsException.php:26
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getQuerySettings
‪QuerySettingsInterface getQuerySettings()
Definition: Query.php:191
‪TYPO3\CMS\Extbase\Persistence\Generic\Qom\SelectorInterface
Definition: SelectorInterface.php:30
‪TYPO3\CMS\Extbase\Utility\TypeHandlingUtility
Definition: TypeHandlingUtility.php:29
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\injectObjectManager
‪injectObjectManager(ObjectManagerInterface $objectManager)
Definition: Query.php:117
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\JCR_JOIN_TYPE_INNER
‪const JCR_JOIN_TYPE_INNER
Definition: Query.php:42
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getSelectorName
‪string getSelectorName()
Definition: Query.php:225
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_CONTAINS
‪const OPERATOR_CONTAINS
Definition: QueryInterface.php:78
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\greaterThanOrEqual
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface greaterThanOrEqual($propertyName, $operand)
Definition: Query.php:619
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$statement
‪TYPO3 CMS Extbase Persistence Generic Qom Statement $statement
Definition: Query.php:89
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\matching
‪QueryInterface matching($constraint)
Definition: Query.php:365
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\contains
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface contains($propertyName, $operand)
Definition: Query.php:554
‪TYPO3\CMS\Extbase\Persistence\QueryResultInterface
Definition: QueryResultInterface.php:22
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getOrderings
‪int getOrderings()
Definition: Query.php:287
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\CHARSET
‪const CHARSET
Definition: Query.php:57
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setOrderings
‪QueryInterface setOrderings(array $orderings)
Definition: Query.php:272
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$limit
‪int $limit
Definition: Query.php:97
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$constraint
‪TYPO3 CMS Extbase Persistence Generic Qom ConstraintInterface $constraint
Definition: Query.php:85
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\__wakeup
‪__wakeup()
Definition: Query.php:644
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getLimit
‪int getLimit()
Definition: Query.php:326
‪TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface
Definition: QuerySettingsInterface.php:22
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$type
‪string $type
Definition: Query.php:61
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$orderings
‪int[] $orderings
Definition: Query.php:93
‪TYPO3\CMS\Extbase\Persistence\Generic
Definition: Backend.php:16
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\unsetLimit
‪QueryInterface unsetLimit()
Definition: Query.php:315
‪TYPO3\CMS\Extbase\Utility\TypeHandlingUtility\isValidTypeForMultiValueComparison
‪static bool isValidTypeForMultiValueComparison($value)
Definition: TypeHandlingUtility.php:158
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setQuerySettings
‪setQuerySettings(QuerySettingsInterface $querySettings)
Definition: Query.php:180
‪TYPO3\CMS\Extbase\Persistence\Generic\Exception\UnexpectedTypeException
Definition: UnexpectedTypeException.php:26
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_LESS_THAN
‪const OPERATOR_LESS_THAN
Definition: QueryInterface.php:53
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\count
‪int count()
Definition: Query.php:666
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$dataMapFactory
‪TYPO3 CMS Extbase Persistence Generic Mapper DataMapFactory $dataMapFactory
Definition: Query.php:69
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\lessThanOrEqual
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface lessThanOrEqual($propertyName, $operand)
Definition: Query.php:595
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\setSource
‪setSource(SourceInterface $source)
Definition: Query.php:214
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\OPERATOR_EQUAL_TO
‪const OPERATOR_EQUAL_TO
Definition: QueryInterface.php:33
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\equals
‪TYPO3 CMS Extbase Persistence Generic Qom ComparisonInterface equals($propertyName, $operand, $caseSensitive=true)
Definition: Query.php:512
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getType
‪string getType()
Definition: Query.php:204
‪TYPO3\CMS\Extbase\Persistence\Generic\Query
Definition: Query.php:38
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\isEmpty
‪isEmpty($propertyName)
Definition: Query.php:678
‪TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface
Definition: ConstraintInterface.php:25
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getSource
‪TYPO3 CMS Extbase Persistence Generic Qom SourceInterface getSource()
Definition: Query.php:239
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\JCR_JOIN_TYPE_LEFT_OUTER
‪const JCR_JOIN_TYPE_LEFT_OUTER
Definition: Query.php:47
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\between
‪TYPO3 CMS Extbase Persistence Generic Qom AndInterface between($propertyName, $operandLower, $operandUpper)
Definition: Query.php:633
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$qomFactory
‪TYPO3 CMS Extbase Persistence Generic Qom QueryObjectModelFactory $qomFactory
Definition: Query.php:77
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\execute
‪TYPO3 CMS Extbase Persistence QueryResultInterface array execute($returnRawQueryResult=false)
Definition: Query.php:253
‪TYPO3\CMS\Extbase\Persistence\Generic\Exception\NotImplementedException
Definition: NotImplementedException.php:26
‪TYPO3\CMS\Extbase\Object\ObjectManager
Definition: ObjectManager.php:28
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\getConstraint
‪TYPO3 CMS Extbase Persistence Generic Qom ConstraintInterface null getConstraint()
Definition: Query.php:400
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\$source
‪TYPO3 CMS Extbase Persistence Generic Qom SourceInterface $source
Definition: Query.php:81
‪TYPO3\CMS\Extbase\Persistence\Generic\Query\__construct
‪__construct($type)
Definition: Query.php:151
‪TYPO3\CMS\Extbase\Persistence\Generic\Exception
Definition: Exception.php:24