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