2013-08-30 63 views
0

我知道問題很簡單,但我找不到如何解決它。我需要從一個變量檢索值,但不成功:從對象數組中檢索屬性值

我有以下控制器:

public function followersAction() 
     { 
      $em = $this->getDoctrine()->getManager(); 

      $usr= $this->get('security.context')->getToken()->getUser(); 

      $query = $em->createQuery(
        'SELECT p 
        FROM TESTBlogBundle:Follow p    
        WHERE p.followed = :me' 
        )->setParameter('me', $usr->getId()); 
        $followers = $query->getResult(); 

      return array(
       'entities' => $followers 
      ); 
     } 

內的另一個控制器,我使用:

$myfollowers=$this->followersAction(); 

,當我的var_dump,我有:

array(3) { 
    ["entities"]=> 
    array(1) { 
    [0]=> 
    object(TEST\Bundle\BlogBundle\Entity\Follow)#364 (3) { 
     ["id":"TEST\Bundle\BlogBundle\Entity\Follow":private]=> 
     int(1) 
     ["follower"]=> 
     int(2) 
     ["followed"]=> 
     int(1) 
    } 
    } 
    ["current_user"]=> 
    int(1) 
    ["followers_count"]=> 
    int(1) 
} 

我需要獲取屬性的值:follower。

foreach($myfollowers as $myfollower) 
    { 
     echo '<pre>'; 

     var_dump($myfollower[0]->follower); 
     var_dump($myfollower[0]->getFollower()); 
     var_dump($myfollower->getFollower()); 

     echo '</pre>'; 


    } 

我越來越像錯誤:試圖讓非對象的屬性,調用一個成員函數getFollower()非對象。

您的幫助表示讚賞。

回答

1

您試圖在錯誤的範圍內循環。 $ myfollowers ['entities']包含正確的,所以你可以用它作爲循環的起點。

以下應該做的伎倆。

foreach($myfollowers['entities'] as $myfollower) 
{ 
    echo '<pre>'; 
    var_dump($myfollower->getFollower()); 
    echo '</pre>';  
} 
+0

非常感謝。非常非常。 –