2013-04-16 3 views
0

저는 zendframwork 2를 사용하고 있습니다. 공식 문서 http://framework.zend.com/manual/2.1/en/user-guide/overview.html#the-tutorial-application에 앨범 예문을 구현합니다 (내 모델 폴더에는 Album.php와 AlbumTable.php가 포함되어 있습니다). 작은 수정을하려면 :특정 개체 값을 입력하십시오.

앨범의 세 번째 요소에 대한 액세스 권한이 필요합니다. index.phtml보기에

<?php foreach ($albums as $album) : ?> 

<?php echo $this->escapeHtml($album->title);?> 
<?php echo $this->escapeHtml($album->artist);?> 

<?php endforeach; ?> 

내가

<?php echo $this->escapeHtml($album->title[3]);?> 
<?php echo $this->escapeHtml($album[3]->title);?> 

but i always get this error 
(!) Fatal error: Cannot use object of type Auth\Model\Album as array in C:\wamp\www\zf2-album\module\Auth\view\auth\auth\index.phtml on line 14 

도움이 같은 일을하십시오 시도 (원래 나는이 코드를 가지고)? 감사합니다.

답변

0

세 번째 만 필요합니까? 그런 다음 쿼리를 작성하여보다 효율적으로 작성하십시오.) 다른 모든 경우는 Zend\Db\ResultSet\ResultSet (Iterator을 사용)으로 작업 중이므로 다른 옵션이 있습니다.

첫번째는 여전히 단순히 ResultSet가 얼마나 큰 방식에 따라 array

$myAlbums = $albums->toArray(); 
$album = $myAlbums[3]; 

ResultSet를 변환하는 것입니다

while ($albums->key() != 3) { 
    $albums->next(); 
} 
$album = $albums->current(); 

대안처럼 필드 셋을 반복하는 것 및 실제로 필요한 항목 수는 솔루션이 더 빠를 수도 있습니다. 당신이 그 중 하나를 테스트해야 할 것 같아요)

+0

도와 주셔서 감사합니다, 나는 첫 번째 methode 및 응용 프로그램을 여전히 결과가로드 (zf2가 차단 된 것으로 보인다) 사용, 두 번째 솔루션에 대한 더 많은 선택하지만이 얻을 오류이 결과는 앞으로 만 이동하는 결과 집합입니다. 앞으로 이동 한 후 rewind()를 호출하면 지원되지 않습니다. – Ramy1988

+0

네, 앞으로 이동할 수 있습니다. 새로운 문제가있는 경우 실제 코드를 제공하십시오.) – Sam

관련 문제