1: <?php
2:
3: namespace PHPixie\ORM\Plans\Plan;
4:
5: class Query extends \PHPixie\ORM\Plans\Plan
6: {
7: protected $plans;
8: protected $queryStep;
9:
10: protected $requiredPlan;
11:
12: public function __construct($plans, $queryStep)
13: {
14: parent::__construct($plans);
15: $this->queryStep = $queryStep;
16: }
17:
18: public function requiredPlan()
19: {
20: if($this->requiredPlan === null) {
21: $this->requiredPlan = $this->plans->steps();
22: }
23:
24: return $this->requiredPlan;
25: }
26:
27: public function steps()
28: {
29: if($this->requiredPlan !== null) {
30: $steps = $this->requiredPlan->steps();
31: }else{
32: $steps = array();
33: }
34:
35: $steps[]= $this->queryStep();
36: return $steps;
37: }
38:
39: public function queryStep()
40: {
41: return $this->queryStep;
42: }
43: }
44: