| @@ 233-249 (lines=17) @@ | ||
| 230 | /** |
|
| 231 | * {@inheritdoc} |
|
| 232 | */ |
|
| 233 | public function remove($key) |
|
| 234 | { |
|
| 235 | $removed = parent::remove($key); |
|
| 236 | if (!$removed) { |
|
| 237 | return $removed; |
|
| 238 | } |
|
| 239 | $this->changed(); |
|
| 240 | if ($this->association !== null && |
|
| 241 | $this->association['type'] & ApiMetadata::TO_MANY && |
|
| 242 | $this->owner && |
|
| 243 | $this->association['orphanRemoval'] |
|
| 244 | ) { |
|
| 245 | $this->manager->getUnitOfWork()->scheduleOrphanRemoval($removed); |
|
| 246 | } |
|
| 247 | ||
| 248 | return $removed; |
|
| 249 | } |
|
| 250 | ||
| 251 | /** |
|
| 252 | * {@inheritdoc} |
|
| @@ 474-483 (lines=10) @@ | ||
| 471 | * |
|
| 472 | * @return array |
|
| 473 | */ |
|
| 474 | public function slice($offset, $length = null) |
|
| 475 | { |
|
| 476 | if (!$this->initialized && !$this->isDirty && $this->association['fetch'] === ApiMetadata::FETCH_EXTRA_LAZY) { |
|
| 477 | $persister = $this->manager->getUnitOfWork()->getCollectionPersister($this->association); |
|
| 478 | ||
| 479 | return $persister->slice($this, $offset, $length); |
|
| 480 | } |
|
| 481 | ||
| 482 | return parent::slice($offset, $length); |
|
| 483 | } |
|
| 484 | ||
| 485 | /** |
|
| 486 | * Cleans up internal state of cloned persistent collection. |
|