@@ 604-625 (lines=22) @@ | ||
601 | * @param array|object $document_or_id Object to which to create a reference. |
|
602 | * @return array Returns a database reference array. |
|
603 | */ |
|
604 | public function createDBRef($document_or_id) |
|
605 | { |
|
606 | if ($document_or_id instanceof \MongoId) { |
|
607 | $id = $document_or_id; |
|
608 | } elseif (is_object($document_or_id)) { |
|
609 | if (! isset($document_or_id->_id)) { |
|
610 | return null; |
|
611 | } |
|
612 | ||
613 | $id = $document_or_id->_id; |
|
614 | } elseif (is_array($document_or_id)) { |
|
615 | if (! isset($document_or_id['_id'])) { |
|
616 | return null; |
|
617 | } |
|
618 | ||
619 | $id = $document_or_id['_id']; |
|
620 | } else { |
|
621 | $id = $document_or_id; |
|
622 | } |
|
623 | ||
624 | return MongoDBRef::create($this->name, $id); |
|
625 | } |
|
626 | ||
627 | /** |
|
628 | * Fetches the document pointed to by a database reference |
@@ 323-344 (lines=22) @@ | ||
320 | * @param mixed $document_or_id |
|
321 | * @return array Returns a database reference array. |
|
322 | */ |
|
323 | public function createDBRef($collection, $document_or_id) |
|
324 | { |
|
325 | if ($document_or_id instanceof \MongoId) { |
|
326 | $id = $document_or_id; |
|
327 | } elseif (is_object($document_or_id)) { |
|
328 | if (! isset($document_or_id->_id)) { |
|
329 | return null; |
|
330 | } |
|
331 | ||
332 | $id = $document_or_id->_id; |
|
333 | } elseif (is_array($document_or_id)) { |
|
334 | if (! isset($document_or_id['_id'])) { |
|
335 | return null; |
|
336 | } |
|
337 | ||
338 | $id = $document_or_id['_id']; |
|
339 | } else { |
|
340 | $id = $document_or_id; |
|
341 | } |
|
342 | ||
343 | return MongoDBRef::create($collection, $id, $this->name); |
|
344 | } |
|
345 | ||
346 | ||
347 | /** |