1 | <?php |
||
24 | abstract class AbstractRelational |
||
25 | { |
||
26 | /** |
||
27 | * @var RelationFactoryInterface |
||
28 | */ |
||
29 | protected $factory; |
||
30 | |||
31 | /** |
||
32 | * @var RelationInterface[] |
||
33 | */ |
||
34 | protected $relations = []; |
||
35 | |||
36 | /** |
||
37 | * Returns model |
||
38 | * |
||
39 | * @return ModelInterface |
||
40 | */ |
||
41 | abstract public function model(); |
||
42 | |||
43 | /** |
||
44 | * Adds relation to query |
||
45 | * |
||
46 | * @param string|array $relation |
||
47 | * |
||
48 | * @return $this |
||
49 | * @throws QueryException |
||
50 | */ |
||
51 | public function with($relation) |
||
60 | |||
61 | /** |
||
62 | * Returns relation instance |
||
63 | * |
||
64 | * @param string $relation |
||
65 | * |
||
66 | * @return RelationInterface |
||
67 | * @throws QueryException |
||
68 | */ |
||
69 | public function relation($relation) |
||
83 | } |
||
84 |