1: <?php
2:
3: namespace PHPixie\ORM\Planners\Planner\Pivot;
4:
5: abstract class Strategy
6: {
7: protected $planners;
8: protected $steps;
9:
10: public function __construct($planners, $steps)
11: {
12: $this->planners = $planners;
13: $this->steps = $steps;
14: }
15:
16: protected function idQuery($side, $plan)
17: {
18: $query = $side->repository()->query();
19: $query->in($side->items());
20: $queryPlan = $query->planFind();
21:
22: $plan->appendPlan($queryPlan->requiredPlan());
23: $query = $queryPlan->queryStep()->query();
24: $idField = $side->repository()->config()->idField;
25: $query->fields(array($idField));
26: return $query;
27: }
28:
29: abstract public function link($pivot, $firstSide, $secondSide, $plan);
30: }
31: