Php 如何从laravel mongodb中的原始表达式中获得结果?
我用的是Laravel和Mongodb。我想从原始表达式获取结果,但失败了 我已尝试将结果转换为数组。结果数据显示,但我不确定这是否正确 下面是我的代码示例:Php 如何从laravel mongodb中的原始表达式中获得结果?,php,laravel,mongodb,Php,Laravel,Mongodb,我用的是Laravel和Mongodb。我想从原始表达式获取结果,但失败了 我已尝试将结果转换为数组。结果数据显示,但我不确定这是否正确 下面是我的代码示例: $result=DB::collection($tbl_name)->raw(函数($collection){ 返回$collection->aggregate([ [ “$match”=>[ “字段_1”=>[ “$regex”=>“此处有一些值” ] ] ], [ “$group”=>[ “_id”=>“$field_2”, '总金额
$result=DB::collection($tbl_name)->raw(函数($collection){
返回$collection->aggregate([
[
“$match”=>[
“字段_1”=>[
“$regex”=>“此处有一些值”
]
]
],
[
“$group”=>[
“_id”=>“$field_2”,
'总金额'=>['$sum'=>['$toDouble'=>'$field\U 3']],
'总计数'=>['$sum'=>1],
]
]
]);
});
这是使用$result->toArray()
数组
(
[0]=>MongoDB\Model\b文档对象
(
[存储:阵列对象:专用]=>阵列
(
[\u id]=>
[总金额]=>1000.0000
[总计数]=>100
)
)
)
我希望能有另一种方法来检索结果。谢谢。您是否使用过类似
$sql=str\u replace\u数组(“?”,$query->getBindings(),$query->toSql());//打印dd($sql)代码>?@DhananjayKyada它不工作了。我调用了未定义的MongoDB\Driver\Cursor::getBindings()
错误。您是否在使用likeDB::collection($tbl\u name)->toSql()
?@DhananjayKyada是的。不幸的是,它不起作用。我想这是因为我使用的是带有聚合的原始函数,因此它返回的结果是Cursor
对象。您是否使用过像$sql=str\u replace\u数组('?',$query->getBindings(),$query->toSql());//打印dd($sql)代码>?@DhananjayKyada它不工作了。我调用了未定义的MongoDB\Driver\Cursor::getBindings()
错误。您是否在使用likeDB::collection($tbl\u name)->toSql()
?@DhananjayKyada是的。不幸的是,它不起作用。我想这是因为我使用的是带有聚合的原始函数,因此它返回的结果是Cursor
object。