1: <?php
2:
3: namespace PHPixie\ORM\Planners\Planner\In\Strategy;
4:
5: class Multiquery extends \PHPixie\ORM\Planners\Planner\In\Strategy
6: {
7: protected $steps;
8:
9: public function __construct($steps)
10: {
11: $this->steps = $steps;
12: }
13:
14: public function in($query, $queryField, $subquery, $subqueryField, $plan, $logic = 'and', $negate = false)
15: {
16: $subquery->fields(array($subqueryField));
17: $resultStep = $this->steps->iteratorResult($subquery);
18: $plan->add($resultStep);
19: $placeholder = $query->addPlaceholder($logic, $negate);
20: $inStep = $this->steps->in($placeholder, $queryField, $resultStep, $subqueryField);
21: $plan->add($inStep);
22: }
23: }
24: