2014-02-28 3 views
0

문제는 :치명적인 오류 : 배열로 입력 한 사용자 엔티티 사용자의 개체를 사용할 수 없습니다

<?php foreach ($users as $user): ?> 
<?php $user = $user[0] ?> 

오류 :

=> Fatal error: Cannot use object of type User\Entity\User as array in ../module/User/view/user/index/index.phtml 

내 클래스는 다음과 같습니다

class IndexController extends ApplicationController 
{ 
/** 
* Store the user. 
* @var \User\Entity\User 
*/ 
protected $_user; 



public function indexAction() 
{ 
    $offset = 6; 
    $page = $this->params()->fromQuery('page'); 
    if (!$page) { 
     $page = 1; 
    } 

    $dql = "SELECT 
      users 
     FROM User\Entity\User users 

     GROUP BY users.id 
     ORDER BY " . $this->getOrderDql(); 

    $query = $this->objectManager() 
     ->createQuery($dql) 
     ->setFirstResult(($page - 1) * $offset) 
     ->setMaxResults($offset); 

    $users = new Paginator($query, $fetchJoinCollection = true); 
    $quantity = (int) ceil($users->count()/$offset); 

    return new ViewModel(
     array(
      'users' => $users, 
      'offset' => $offset, 
      'page' => $page, 
      'quantity' => $quantity, 
      'order' => $this->getOrderValue(), 
     ) 
    ); 
} 

} 

감사합니다 해답!

(텍스트 내 게시물하지 주로 코드를 만드는 방법) 오류가 당신이 배열로 객체를 사용 cant 말하는 것처럼, 당신은 다음과 같은 방법으로 개체에 액세스 할 필요가

+0

어떻게'$ users' 객체를 초기화합니까? 그 코드를 보여주십시오. –

+0

@AmalMurali Doctrine \ ORM \ Tools \ Pagination \ Paginator를 사용합니다. $ users = 새 쪽 매김 자 ($ query, $ fetchJoinCollection = true); – user3333854

답변

0

$user->'keyname'; 또는 $user[0] 대신 $user->'filedname';

여기서 keyname 또는 field name은 검색하려는 필드의 이름입니다.

+0

$ user -> 'something'로 $ user [0]을 바꿀 때 구문 오류가 발생합니다 – user3333854

+0

무엇이 오류입니까? $ 사용자의 콘텐츠를 표시 할 수 있습니까? –