不能使用 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()
起作用。
我正在尝试按照 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()
起作用。