| @@ 174-183 (lines=10) @@ | ||
| 171 | $changeset = $model->getChangeSet(); |
|
| 172 | ||
| 173 | $update = []; |
|
| 174 | foreach ($changeset['attributes'] as $key => $values) { |
|
| 175 | if (null === $values['new']) { |
|
| 176 | $op = '$unset'; |
|
| 177 | $value = 1; |
|
| 178 | } else { |
|
| 179 | $op = '$set'; |
|
| 180 | $value = $this->getFormatter()->getAttributeDbValue($metadata->getAttribute($key), $values['new']); |
|
| 181 | } |
|
| 182 | $update[$op][$key] = $value; |
|
| 183 | } |
|
| 184 | ||
| 185 | // @todo Must prevent inverse relationships from persisting |
|
| 186 | foreach ($changeset['hasOne'] as $key => $values) { |
|
| @@ 186-195 (lines=10) @@ | ||
| 183 | } |
|
| 184 | ||
| 185 | // @todo Must prevent inverse relationships from persisting |
|
| 186 | foreach ($changeset['hasOne'] as $key => $values) { |
|
| 187 | if (null === $values['new']) { |
|
| 188 | $op = '$unset'; |
|
| 189 | $value = 1; |
|
| 190 | } else { |
|
| 191 | $op = '$set'; |
|
| 192 | $value = $this->getFormatter()->getHasOneDbValue($metadata->getRelationship($key), $values['new']); |
|
| 193 | } |
|
| 194 | $update[$op][$key] = $value; |
|
| 195 | } |
|
| 196 | ||
| 197 | foreach ($changeset['hasMany'] as $key => $values) { |
|
| 198 | if (null === $values['new']) { |
|
| @@ 197-206 (lines=10) @@ | ||
| 194 | $update[$op][$key] = $value; |
|
| 195 | } |
|
| 196 | ||
| 197 | foreach ($changeset['hasMany'] as $key => $values) { |
|
| 198 | if (null === $values['new']) { |
|
| 199 | $op = '$unset'; |
|
| 200 | $value = 1; |
|
| 201 | } else { |
|
| 202 | $op = '$set'; |
|
| 203 | $value = $this->getFormatter()->getHasManyDbValue($metadata->getRelationship($key), $values['new']); |
|
| 204 | } |
|
| 205 | $update[$op][$key] = $value; |
|
| 206 | } |
|
| 207 | ||
| 208 | if (empty($update)) { |
|
| 209 | return $model; |
|