作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前使用 DoctrineMongoDbBundle 向我的 mongodb 数据库发出请求。
这是我 Controller 中的调用:
$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);
然后我尝试将 $enitities 序列化为 json 并将其发送给客户端,但没有成功。
打印的 echo :
Array ( [prop] => 1 )
101
Doctrine\ODM\MongoDB\LoggableCursor0
这意味着查询正确,但计数应为“2”,类型应为 Animal 数组。
为什么存储库返回 LoggableCursor0 而不是 Animal 数组?
[编辑]它怎么会返回一个 Animal 数组?
[编辑] 以 JSON 格式返回结果的最佳方式是什么?
最佳答案
使用方法toArray()
。像这样:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$entities = $dm->getRepository('MyBundle:Animal')->findBy(array("prop" => "1"))->toArray();
如果您需要获取实体数组,请使用 array_values()
函数。像这样:
$entities = array_values($entities);
关于php - Symfony2 的 mongoDB 返回一个 loggablecursor 而不是我的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958647/
我目前使用 DoctrineMongoDbBundle 向我的 mongodb 数据库发出请求。 这是我 Controller 中的调用: $dm = $this->get('doctrine
我不知道是什么问题,但是当我运行这段代码时 $reposit = $this->get('doctrine_mongodb') ->getMan
我是一名优秀的程序员,十分优秀!