在执行查询之后
$orders = Orders::connection()->connection->command(array(
'aggregate' => 'orders',
'pipeline' => array(
array(
'$group' => array(
'_id' => array('cust_id'=>'$cust_id','ord_date'=>'$ord_date'),
'total' => array( '$sum' => '$price') ,
),
),
)
)); 我得到$orders的输出数组为
Array
(
[0] => Array
(
[_id] => Array
(
[cust_id] => xyz123
[ord_date] => MongoDate Object
(
[sec] => 1351875851
[usec] => 102000
)
)
[total] => 75
)
[1] => Array
(
[_id] => Array
(
[cust_id] => abc123
[ord_date] => MongoDate Object
(
[sec] => 1351875851
[usec] => 102000
)
)
[total] => 125
)
)我已经用MongoDate对象尝试了下面的方法来正确地打印它
foreach($orders['result'] as $o){
$date = $o['ord_date'];
echo date('Y-M-d',$date->sec);
}也尝试过
foreach($orders['result'] as $o){
$date = new MongoDate ($o['ord_date']);
echo date('Y-M-d',$date->sec);
}有人能告诉我这样做的正确方法吗?
发布于 2012-11-17 00:01:57
您缺少对象的_id级别。试着这样做:
foreach($orders['result'] as $o){
$date = $o['_id']['ord_date'];
echo date('Y-M-d',$date->sec);
}https://stackoverflow.com/questions/13418309
复制相似问题