繁体   English   中英

使用PHP解析Mongo文档

[英]Parse a Mongo document using PHP

我想使用PHP解析mongo文档,并在TWIG中显示此文档的元素。
但是我现在被困住了。

这是我的文档的一部分:

{"_id":
{"$id":"555f91d9fd2897e433000029"},
"users":[{"id":1735706894,
"id_str":"1735706894","name":"Funny Teen Quotes",
"screen_name":"D_Funny_Teens"},
{"id":1239321974,
"id_str":"1239321974",
"name":"Teen Quotes",
"screen_name":"SayingsOnTeens"} ...

这是我的函数PHP:

   public function testAction()
{
    $m = $this->container->get('doctrine_mongodb.odm.default_connection');
    $db = $m->selectDatabase('test');
    $collection = $db->createCollection('tweets');
    $followcollection = $db->createCollection('followers');
    $follow  = $followcollection->findOne();
    $k = 0;
    foreach ($follow->users as $follower) {
        $returns[$k] = array(
            $follower->id,
            $follower->id_str
        );
        $k = $k+1;
    }

    $return = json_encode($return);
    return $this->render('ChartsBundle:Charts:test.html.twig', 
    array('returns'=> $returns
    )); }

我的模板树枝:

{% for item in return %}
 <li>{{ returns.id }}</li>
 <li>{{ returns.id_str }}</li>
 {% endfor %}

我得到这个错误

 Notice: Trying to get property of non-object

请尝试也许:

(...)


$follow  = (object) $followcollection->findOne();
$k = 0;
foreach ($follow->users as $arrFollower) {
    $follower = (object)$arrFollower;
    $returns[$k] = (object)array(
        $follower->id,
        $follower->id_str
    );
    $k = $k+1;
}


(...)

我将使用DoctrineMongoDBBundle 这样,您就可以使用常规的PHP对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM