@@ 305-326 (lines=22) @@ | ||
302 | * @param mixed $document_or_id |
|
303 | * @return array Returns a database reference array. |
|
304 | */ |
|
305 | public function createDBRef($collection, $document_or_id) |
|
306 | { |
|
307 | if ($document_or_id instanceof \MongoId) { |
|
308 | $id = $document_or_id; |
|
309 | } elseif (is_object($document_or_id)) { |
|
310 | if (! isset($document_or_id->_id)) { |
|
311 | return null; |
|
312 | } |
|
313 | ||
314 | $id = $document_or_id->_id; |
|
315 | } elseif (is_array($document_or_id)) { |
|
316 | if (! isset($document_or_id['_id'])) { |
|
317 | return null; |
|
318 | } |
|
319 | ||
320 | $id = $document_or_id['_id']; |
|
321 | } else { |
|
322 | $id = $document_or_id; |
|
323 | } |
|
324 | ||
325 | return MongoDBRef::create($collection, $id, $this->name); |
|
326 | } |
|
327 | ||
328 | ||
329 | /** |
@@ 607-628 (lines=22) @@ | ||
604 | * @param array|object $document_or_id Object to which to create a reference. |
|
605 | * @return array Returns a database reference array. |
|
606 | */ |
|
607 | public function createDBRef($document_or_id) |
|
608 | { |
|
609 | if ($document_or_id instanceof \MongoId) { |
|
610 | $id = $document_or_id; |
|
611 | } elseif (is_object($document_or_id)) { |
|
612 | if (! isset($document_or_id->_id)) { |
|
613 | return null; |
|
614 | } |
|
615 | ||
616 | $id = $document_or_id->_id; |
|
617 | } elseif (is_array($document_or_id)) { |
|
618 | if (! isset($document_or_id['_id'])) { |
|
619 | return null; |
|
620 | } |
|
621 | ||
622 | $id = $document_or_id['_id']; |
|
623 | } else { |
|
624 | $id = $document_or_id; |
|
625 | } |
|
626 | ||
627 | return MongoDBRef::create($this->name, $id); |
|
628 | } |
|
629 | ||
630 | /** |
|
631 | * Fetches the document pointed to by a database reference |