0

私は zendframwork 2 を使用しています。公式ドキュメント http://framework.zend.com/manual/2.1/en/user-guide/overview.html#the-tutorial-applicationにアルバムの例を実装しています (私のモデルではフォルダーには Album.php と AlbumTable.php があります)、すべて正常に動作します。小さな変更を加えたいだけです:

アルバムの 3 番目の要素にアクセスしたい。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

何か助けてください?みんな、ありがとう

4

1 に答える 1

0

3つ目だけが必要ですか?次に、クエリをより効率的に記述します;) 他のすべてのケースではZend\Db\ResultSet\ResultSet、 を使用しIteratorているため、さまざまなオプションがあります。

最初のものは、フィールドセットを次のように繰り返し処理することです

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

別の方法は、単純に を に変換することですResultSetarray

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

サイズResultSetと実際に必要なエントリの数に応じて、どちらのソリューションも高速になる場合があります。あなたはそれをテストしなければならないと思います;)

于 2013-04-17T05:51:59.530 に答える