2 declare(strict_types = 1);
16 protected $persistenceDelegate;
24 if ($this->persistenceDelegate !==
null) {
25 return $this->persistenceDelegate;
27 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
28 ->getQueryBuilderForTable($this->tableName)
29 ->from($this->tableName);
32 $resolveModifier =
function (
QueryBuilder $queryBuilder, array $values) {
34 ...$this->createFieldConstraints($queryBuilder, $values,
true)
37 $generateModifier =
function (
QueryBuilder $queryBuilder, array $values) {
39 ...$this->createFieldConstraints($queryBuilder, $values)
57 protected function createFieldConstraints(
60 bool $resolveExpansion =
false
62 $languageExpansion = $this->languageParentFieldName
64 && isset($values[
'uid']);
67 foreach ($values as $fieldName => $fieldValue) {
68 if ($languageExpansion && $fieldName ===
'uid') {
71 $constraints[] = $queryBuilder->
expr()->
eq(
80 if ($languageExpansion) {
85 $constraints[] = $queryBuilder->
expr()->
orX(
86 $queryBuilder->
expr()->
eq(
'uid', $idParameter),
87 $queryBuilder->
expr()->
eq($this->languageParentFieldName, $idParameter)