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

Cannot use object of type Album\Model\Album as array - ZF2.3

我正在尝试按照 Zend 官方网站上的相册列表教程进行操作,但我遇到了一个错误,我找不到解决方案。我正在从网站上复制代码,但它显示我在标题中写的错误。

class中的代码在文件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

谢谢。

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

问题已解决。碰巧我复制了 addAction() 方法,我不得不删除两行以使 editAction() 起作用。