Jea*_*erc 3 php mongodb symfony
我目前使用DoctrineMongoDbBundle向我的mongodb数据库发出请求.
这是我控制器中的呼叫:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$entities = $dm->getRepository('MyBundle:Animal')->findBy(array("prop" => "1"));
echo print_r($entities->getQuery());
echo printf(count($entities));
echo get_class($entities);
Run Code Online (Sandbox Code Playgroud)
然后我尝试将$ enitities序列化为json并将其发送给客户端,但它没有用.
回声打印:
Array ( [prop] => 1 )
101
Doctrine\ODM\MongoDB\LoggableCursor0
Run Code Online (Sandbox Code Playgroud)
这意味着查询正确但计数应为"2",类型应为Animal数组.
为什么重定位返回LoggableCursor0而不是Animal数组?
[编辑]它怎么能返回一个动物数组?
[edit]在JSON中返回结果的最佳方法是什么?
使用方法toArray()
.像这样:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$entities = $dm->getRepository('MyBundle:Animal')->findBy(array("prop" => "1"))->toArray();
Run Code Online (Sandbox Code Playgroud)
如果需要获取实体数组,请使用array_values()
function.像这样:
$entities = array_values($entities);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2788 次 |
最近记录: |