2011-10-22 10 views
8

Po wykonaniu wstawki chcę przekazać obiekt do klienta za pomocą funkcji json_encode(). Problem polega na tym, że wartość _id nie jest uwzględniona.Jak uzyskać wartość ciągu MongoID za pomocą PHP?

$widget = array('text' => 'Some text'); 

$this->mongo->db->insert($widget); 


If I echo $widget['_id'] the string value gets displays on the screen, but I want to do something like this: 

$widget['widgetId'] = $widget['_id']->id; 


So I can do json_encode() and include the widget id: 

echo json_encode($widget); 

Odpowiedz

41

Uwierz w to, czego szukasz.

$widget['_id']->{'$id'}; 

Coś takiego.

$widget = array('text' => 'Some text'); 
$this->mongo->db->insert($widget); 
$widget['widgetId'] = $widget['_id']->{'$id'}; 
echo json_encode($widget); 
+2

referencyjny tutaj: http://php.net/manual/en/class.mongoid.php. Wolałbym typografię (łańcuchową) pod sobą, ale w momencie pytania korzystałem z metody opisanej w dokumentach. –

17

Można również użyć:

(string)$widget['_id'] 
1

kiedyś coś podobnego:

(string)$widget->_id

0

użyłem coś podobnego, jeśli przedmiot:

$widget->_id->{'$oid'} 

lub

(string)$widget->_id 

lub tablica:

$widget['id']->{'$oid'} 
(string)$widget['_id'] 
Powiązane problemy