不能使用Album \ Model \ Album类型的对象作为数组 - ZF2.3

时间:2015-01-16 01:44:36

标签: php zend-framework2

我试图按照Zend官方网站上的专辑列表教程,但我遇到了一个错误,我无法找到解决方案。我正在从网站上复制代码,但它显示了我在标题中写的错误。

该类中的代码位于文件Album.php

 public function exchangeArray($data)
 {
     $this->id = (isset($data['id'])) ? $data['id'] : null;
     $this->artist = (isset($data['artist'])) ? $data['artist'] : null;
     $this->title = (isset($data['title'])) ? $data['title'] : null;
 }

当我尝试编辑我拥有的相册时,会发生这种情况,访问文件edit.phtml

 <?php
 $title = 'Edit album';
 $this->headTitle($title);
 ?>
 <h1><?php echo $this->escapeHtml($title); ?></h1>

 <?php
 $form = $this->form;
 $form->setAttribute('action', $this->url(
     'album',
      array(
         'action' => 'edit',
         'id'     => $this->id,
      )
 ));
 $form->prepare();

 echo $this->form()->openTag($form);
 echo $this->formHidden($form->get('id'));
 echo $this->formRow($form->get('title'));
 echo $this->formRow($form->get('artist'));
 echo $this->formSubmit($form->get('submit'));
 echo $this->form()->closeTag();
 ?>

我不知道错误可能在哪里。我在Zend完全崭新。如果您能查看我在github中迄今所做的工作,我将非常感激。

完整的错误消息是:

Fatal error: Cannot use object of type Album\Model\Album as array in /var/www/html/zf/module/Album/src/Album/Model/Album.php on line 17

谢谢。

2 个答案:

答案 0 :(得分:1)

问题解决了。碰巧我已经复制了addAction()方法,我必须删除两行才能使editAction()生效。

答案 1 :(得分:0)

您可能需要将对象绑定到表单: $form->bind($album);