2011-10-22 33 views
8

Sau khi thực hiện chèn, tôi muốn chuyển đối tượng đến máy khách bằng cách sử dụng json_encode(). Vấn đề là, giá trị _id không được bao gồm.Làm thế nào để bạn nhận được giá trị chuỗi của một MongoID bằng cách sử dụng 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); 

Trả lời

41

Hãy tin đây là những gì bạn đang theo dõi.

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

Điều gì đó tương tự.

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

tham khảo ở đây: http://php.net/manual/en/class.mongoid.php. Tôi thích kiểu chữ (chuỗi) bên dưới bản thân mình nhưng tại thời điểm câu hỏi tôi đã sử dụng phương pháp được nêu trong tài liệu. –

17

Bạn cũng có thể sử dụng:

(string)$widget['_id'] 
1

tôi đã sử dụng một cái gì đó tương tự:

(string)$widget->_id

0

tôi đã sử dụng một cái gì đó tương tự nếu đối tượng:

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

hoặc

(string)$widget->_id 

hoặc mảng:

$widget['id']->{'$oid'} 
(string)$widget['_id'] 
Các vấn đề liên quan