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

请问有什么帮助吗?感谢大家

4

1 回答 1

0

你只需要第三个吗?然后编写查询以提高效率;)对于所有其他情况,由于您使用的是 a Zend\Db\ResultSet\ResultSet,因此Iterator您有不同的选择。

第一个是仍然遍历字段集,例如

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

ResultSet另一种方法是简单地将array

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

根据您的ResultSet规模和您真正需要的条目数量,任一解决方案可能对您来说更快。猜猜你必须测试那个;)

于 2013-04-17T05:51:59.530 回答