@@ -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(); |