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