@@ 319-340 (lines=22) @@ | ||
316 | * @param mixed $document_or_id |
|
317 | * @return array Returns a database reference array. |
|
318 | */ |
|
319 | public function createDBRef($collection, $document_or_id) |
|
320 | { |
|
321 | if ($document_or_id instanceof \MongoId) { |
|
322 | $id = $document_or_id; |
|
323 | } elseif (is_object($document_or_id)) { |
|
324 | if (! isset($document_or_id->_id)) { |
|
325 | return null; |
|
326 | } |
|
327 | ||
328 | $id = $document_or_id->_id; |
|
329 | } elseif (is_array($document_or_id)) { |
|
330 | if (! isset($document_or_id['_id'])) { |
|
331 | return null; |
|
332 | } |
|
333 | ||
334 | $id = $document_or_id['_id']; |
|
335 | } else { |
|
336 | $id = $document_or_id; |
|
337 | } |
|
338 | ||
339 | return MongoDBRef::create($collection, $id, $this->name); |
|
340 | } |
|
341 | ||
342 | ||
343 | /** |
@@ 760-781 (lines=22) @@ | ||
757 | * @param array|object $document_or_id Object to which to create a reference. |
|
758 | * @return array Returns a database reference array. |
|
759 | */ |
|
760 | public function createDBRef($document_or_id) |
|
761 | { |
|
762 | if ($document_or_id instanceof \MongoId) { |
|
763 | $id = $document_or_id; |
|
764 | } elseif (is_object($document_or_id)) { |
|
765 | if (! isset($document_or_id->_id)) { |
|
766 | return null; |
|
767 | } |
|
768 | ||
769 | $id = $document_or_id->_id; |
|
770 | } elseif (is_array($document_or_id)) { |
|
771 | if (! isset($document_or_id['_id'])) { |
|
772 | return null; |
|
773 | } |
|
774 | ||
775 | $id = $document_or_id['_id']; |
|
776 | } else { |
|
777 | $id = $document_or_id; |
|
778 | } |
|
779 | ||
780 | return MongoDBRef::create($this->name, $id); |
|
781 | } |
|
782 | ||
783 | /** |
|
784 | * Fetches the document pointed to by a database reference |