| @@ 716-737 (lines=22) @@ | ||
| 713 | * @param array|object $document_or_id Object to which to create a reference. |
|
| 714 | * @return array Returns a database reference array. |
|
| 715 | */ |
|
| 716 | public function createDBRef($document_or_id) |
|
| 717 | { |
|
| 718 | if ($document_or_id instanceof \MongoId) { |
|
| 719 | $id = $document_or_id; |
|
| 720 | } elseif (is_object($document_or_id)) { |
|
| 721 | if (! isset($document_or_id->_id)) { |
|
| 722 | return null; |
|
| 723 | } |
|
| 724 | ||
| 725 | $id = $document_or_id->_id; |
|
| 726 | } elseif (is_array($document_or_id)) { |
|
| 727 | if (! isset($document_or_id['_id'])) { |
|
| 728 | return null; |
|
| 729 | } |
|
| 730 | ||
| 731 | $id = $document_or_id['_id']; |
|
| 732 | } else { |
|
| 733 | $id = $document_or_id; |
|
| 734 | } |
|
| 735 | ||
| 736 | return MongoDBRef::create($this->name, $id); |
|
| 737 | } |
|
| 738 | ||
| 739 | /** |
|
| 740 | * Fetches the document pointed to by a database reference |
|
| @@ 320-341 (lines=22) @@ | ||
| 317 | * @param mixed $document_or_id |
|
| 318 | * @return array Returns a database reference array. |
|
| 319 | */ |
|
| 320 | public function createDBRef($collection, $document_or_id) |
|
| 321 | { |
|
| 322 | if ($document_or_id instanceof \MongoId) { |
|
| 323 | $id = $document_or_id; |
|
| 324 | } elseif (is_object($document_or_id)) { |
|
| 325 | if (! isset($document_or_id->_id)) { |
|
| 326 | return null; |
|
| 327 | } |
|
| 328 | ||
| 329 | $id = $document_or_id->_id; |
|
| 330 | } elseif (is_array($document_or_id)) { |
|
| 331 | if (! isset($document_or_id['_id'])) { |
|
| 332 | return null; |
|
| 333 | } |
|
| 334 | ||
| 335 | $id = $document_or_id['_id']; |
|
| 336 | } else { |
|
| 337 | $id = $document_or_id; |
|
| 338 | } |
|
| 339 | ||
| 340 | return MongoDBRef::create($collection, $id, $this->name); |
|
| 341 | } |
|
| 342 | ||
| 343 | ||
| 344 | /** |
|