| @@ 14-36 (lines=23) @@ | ||
| 11 | use eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler; |
|
| 12 | use eZ\Publish\Core\Persistence\Database\SelectQuery; |
|
| 13 | ||
| 14 | class LogicalAnd implements CriterionHandler |
|
| 15 | { |
|
| 16 | /** |
|
| 17 | * {@inheritdoc} |
|
| 18 | */ |
|
| 19 | public function accept(Criterion $criterion) |
|
| 20 | { |
|
| 21 | return $criterion instanceof Criterion\LogicalAnd; |
|
| 22 | } |
|
| 23 | ||
| 24 | /** |
|
| 25 | * {@inheritdoc} |
|
| 26 | */ |
|
| 27 | public function handle(CriteriaConverter $converter, SelectQuery $query, Criterion $criterion) |
|
| 28 | { |
|
| 29 | $subexpressions = []; |
|
| 30 | foreach ($criterion->criteria as $subCriterion) { |
|
| 31 | $subexpressions[] = $converter->convertCriteria($query, $subCriterion); |
|
| 32 | } |
|
| 33 | ||
| 34 | return $query->expr->lAnd($subexpressions); |
|
| 35 | } |
|
| 36 | } |
|
| 37 | ||
| @@ 14-36 (lines=23) @@ | ||
| 11 | use eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler; |
|
| 12 | use eZ\Publish\Core\Persistence\Database\SelectQuery; |
|
| 13 | ||
| 14 | class LogicalOr implements CriterionHandler |
|
| 15 | { |
|
| 16 | /** |
|
| 17 | * {@inheritdoc} |
|
| 18 | */ |
|
| 19 | public function accept(Criterion $criterion) |
|
| 20 | { |
|
| 21 | return $criterion instanceof Criterion\LogicalOr; |
|
| 22 | } |
|
| 23 | ||
| 24 | /** |
|
| 25 | * {@inheritdoc} |
|
| 26 | */ |
|
| 27 | public function handle(CriteriaConverter $converter, SelectQuery $query, Criterion $criterion) |
|
| 28 | { |
|
| 29 | $subexpressions = []; |
|
| 30 | foreach ($criterion->criteria as $subCriterion) { |
|
| 31 | $subexpressions[] = $converter->convertCriteria($query, $subCriterion); |
|
| 32 | } |
|
| 33 | ||
| 34 | return $query->expr->lOr($subexpressions); |
|
| 35 | } |
|
| 36 | } |
|
| 37 | ||