| @@ 245-254 (lines=10) @@ | ||
| 242 | $changeset = $model->getChangeSet(); |
|
| 243 | ||
| 244 | $update = []; |
|
| 245 | foreach ($changeset['attributes'] as $key => $values) { |
|
| 246 | if (null === $values['new']) { |
|
| 247 | $op = '$unset'; |
|
| 248 | $value = 1; |
|
| 249 | } else { |
|
| 250 | $op = '$set'; |
|
| 251 | $value = $this->prepareAttribute($metadata->getAttribute($key), $values['new']); |
|
| 252 | } |
|
| 253 | $update[$op][$key] = $value; |
|
| 254 | } |
|
| 255 | ||
| 256 | // @todo Must prevent inverse relationships from persisting |
|
| 257 | foreach ($changeset['hasOne'] as $key => $values) { |
|
| @@ 257-266 (lines=10) @@ | ||
| 254 | } |
|
| 255 | ||
| 256 | // @todo Must prevent inverse relationships from persisting |
|
| 257 | foreach ($changeset['hasOne'] as $key => $values) { |
|
| 258 | if (null === $values['new']) { |
|
| 259 | $op = '$unset'; |
|
| 260 | $value = 1; |
|
| 261 | } else { |
|
| 262 | $op = '$set'; |
|
| 263 | $value = $this->prepareHasOne($metadata->getRelationship($key), $values['new']); |
|
| 264 | } |
|
| 265 | $update[$op][$key] = $value; |
|
| 266 | } |
|
| 267 | ||
| 268 | foreach ($changeset['hasMany'] as $key => $values) { |
|
| 269 | if (null === $values['new']) { |
|
| @@ 268-277 (lines=10) @@ | ||
| 265 | $update[$op][$key] = $value; |
|
| 266 | } |
|
| 267 | ||
| 268 | foreach ($changeset['hasMany'] as $key => $values) { |
|
| 269 | if (null === $values['new']) { |
|
| 270 | $op = '$unset'; |
|
| 271 | $value = 1; |
|
| 272 | } else { |
|
| 273 | $op = '$set'; |
|
| 274 | $value = $this->prepareHasMany($metadata->getRelationship($key), $values['new']); |
|
| 275 | } |
|
| 276 | $update[$op][$key] = $value; |
|
| 277 | } |
|
| 278 | ||
| 279 | if (empty($update)) { |
|
| 280 | return $model; |
|