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