TYPO3CMS
9.5
Main Page
Related Pages
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Files
File List
File Members
All
$
d
e
r
u
Functions
Variables
$
e
r
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Pages
RootLevelRestriction.php
Go to the documentation of this file.
1
<?php
2
declare(strict_types = 1);
3
namespace
TYPO3\CMS\Core\Database\Query\Restriction
;
4
5
/*
6
* This file is part of the TYPO3 CMS project.
7
*
8
* It is free software; you can redistribute it and/or modify it under
9
* the terms of the GNU General Public License, either version 2
10
* of the License, or any later version.
11
*
12
* For the full copyright and license information, please read the
13
* LICENSE.txt file that was distributed with this source code.
14
*
15
* The TYPO3 project - inspiring people to share!
16
*/
17
18
use
TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression
;
19
use
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
;
20
24
class
RootLevelRestriction
implements
QueryRestrictionInterface
25
{
29
protected
$tableNames
;
30
34
public
function
__construct
(array
$tableNames
= [])
35
{
36
$this->tableNames =
$tableNames
;
37
}
38
46
public
function
buildExpression
(array $queriedTables,
ExpressionBuilder
$expressionBuilder):
CompositeExpression
47
{
48
$constraints = [];
49
foreach
($queriedTables as $tableAlias => $tableName) {
50
if
(empty($this->tableNames) || in_array($tableAlias, $this->tableNames,
true
)) {
51
$constraints[] = $expressionBuilder->
eq
(
52
$tableAlias .
'.pid'
,
53
0
54
);
55
}
56
}
57
return
$expressionBuilder->
andX
(...$constraints);
58
}
59
}
TYPO3\CMS\Core\Database\Query\Restriction\RootLevelRestriction\$tableNames
array $tableNames
Definition:
RootLevelRestriction.php:28
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
Definition:
ExpressionBuilder.php:33
TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface
Definition:
QueryRestrictionInterface.php:25
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\eq
string eq(string $fieldName, $value)
Definition:
ExpressionBuilder.php:107
TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression
Definition:
CompositeExpression.php:23
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\andX
CompositeExpression andX(... $expressions)
Definition:
ExpressionBuilder.php:68
TYPO3\CMS\Core\Database\Query\Restriction\RootLevelRestriction
Definition:
RootLevelRestriction.php:25
TYPO3\CMS\Core\Database\Query\Restriction
Definition:
AbstractRestrictionContainer.php:3
TYPO3\CMS\Core\Database\Query\Restriction\RootLevelRestriction\buildExpression
CompositeExpression buildExpression(array $queriedTables, ExpressionBuilder $expressionBuilder)
Definition:
RootLevelRestriction.php:45
TYPO3\CMS\Core\Database\Query\Restriction\RootLevelRestriction\__construct
__construct(array $tableNames=[])
Definition:
RootLevelRestriction.php:33
doxygen
typo3
sysext
core
Classes
Database
Query
Restriction
RootLevelRestriction.php
Generated on Tue Oct 5 2021 01:57:04 for TYPO3CMS by
1.8.18