@@ -6,7 +6,9 @@ discard block |
||
6 | 6 | private $localField; |
7 | 7 | |
8 | 8 | public function __construct(\Maphper\Maphper $mapper, $parentField, $localField, array $critiera = []) { |
9 | - if ($critiera) $mapper->filter($critiera); |
|
9 | + if ($critiera) { |
|
10 | + $mapper->filter($critiera); |
|
11 | + } |
|
10 | 12 | $this->mapper = $mapper; |
11 | 13 | $this->parentField = $parentField; |
12 | 14 | $this->localField = $localField; |
@@ -14,17 +16,24 @@ discard block |
||
14 | 16 | |
15 | 17 | |
16 | 18 | public function getData($parentObject) { |
17 | - if (!isset($parentObject->{$this->parentField})) $mapper = $this->mapper; |
|
18 | - else $mapper = $this->mapper->filter([$this->localField => $parentObject->{$this->parentField}]); |
|
19 | + if (!isset($parentObject->{$this->parentField})) { |
|
20 | + $mapper = $this->mapper; |
|
21 | + } else { |
|
22 | + $mapper = $this->mapper->filter([$this->localField => $parentObject->{$this->parentField}]); |
|
23 | + } |
|
19 | 24 | |
20 | 25 | return $mapper; |
21 | 26 | } |
22 | 27 | |
23 | 28 | |
24 | 29 | public function overwrite($key, &$mapper) { |
25 | - if (!isset($key->{$this->parentField})) return false; |
|
30 | + if (!isset($key->{$this->parentField})) { |
|
31 | + return false; |
|
32 | + } |
|
26 | 33 | foreach ($mapper as $k => $val) { |
27 | - if (!empty($val->{$this->localField}) && $val->{$this->localField} != $key->{$this->parentField}) continue; |
|
34 | + if (!empty($val->{$this->localField}) && $val->{$this->localField} != $key->{$this->parentField}) { |
|
35 | + continue; |
|
36 | + } |
|
28 | 37 | $val->{$this->localField} = $key->{$this->parentField}; |
29 | 38 | $this->mapper[] = $val; |
30 | 39 | } |
@@ -90,26 +90,26 @@ |
||
90 | 90 | list($relatedField, $valueField, $mapper) = $this->getOtherFieldNameInfo(); |
91 | 91 | if ($this->autoTraverse) $this->offsetSetAutotraverse($value, $relatedField, $valueField); |
92 | 92 | else if ($this->doUpdateInterMapper($value, $relatedField, $valueField)) { |
93 | - $record = $value; |
|
93 | + $record = $value; |
|
94 | 94 | $record->{$this->parentField} = $value->{$this->intermediateName}->{$this->localField}; |
95 | 95 | $record->$valueField = $this->object->{$relatedField}; |
96 | 96 | $this->intermediateMapper[] = $record; |
97 | 97 | } |
98 | 98 | } |
99 | 99 | |
100 | - private function doUpdateInterMapper($record, $relatedField, $valueField) { |
|
101 | - return !(isset($record->{$this->parentField}) && isset($record->{$this->intermediateName}) && |
|
102 | - isset($record->$valueField) && isset($this->object->{$relatedField}) && |
|
103 | - $record->{$this->parentField} == $record->{$this->intermediateName}->{$this->localField} && |
|
104 | - $record->$valueField == $this->object->{$relatedField}); |
|
105 | - } |
|
106 | - |
|
107 | - private function offsetSetAutotraverse($value, $relatedField, $valueField) { |
|
108 | - $record = new \stdClass; |
|
109 | - $record->{$this->parentField} = $value->{$this->localField}; |
|
110 | - $record->$valueField = $this->object->{$relatedField}; |
|
111 | - $this->intermediateMapper[] = $record; |
|
112 | - } |
|
100 | + private function doUpdateInterMapper($record, $relatedField, $valueField) { |
|
101 | + return !(isset($record->{$this->parentField}) && isset($record->{$this->intermediateName}) && |
|
102 | + isset($record->$valueField) && isset($this->object->{$relatedField}) && |
|
103 | + $record->{$this->parentField} == $record->{$this->intermediateName}->{$this->localField} && |
|
104 | + $record->$valueField == $this->object->{$relatedField}); |
|
105 | + } |
|
106 | + |
|
107 | + private function offsetSetAutotraverse($value, $relatedField, $valueField) { |
|
108 | + $record = new \stdClass; |
|
109 | + $record->{$this->parentField} = $value->{$this->localField}; |
|
110 | + $record->$valueField = $this->object->{$relatedField}; |
|
111 | + $this->intermediateMapper[] = $record; |
|
112 | + } |
|
113 | 113 | |
114 | 114 | public function offsetUnset($id) { |
115 | 115 | //$this->relation->mapper->filter([$relatedField => $this->object->$valueField, $this->relation->parentField => $id])->delete(); |