加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Zend框架2:表单绑定不设置从数据库中提取的值

发布时间:2020-12-13 16:50:25 所属栏目:PHP教程 来源:网络整理
导读:我想为我的应用程序创建一个Zend Framework 2的表单,我已经准备好所有内容并且表单正在显示但我的问题是我无法绑定来自数据库的初始表单值 $myUserDetails = details of my user coming from DB;$form = $form-bind($myUserDetails); //This should set the
我想为我的应用程序创建一个Zend Framework 2的表单,我已经准备好所有内容并且表单正在显示但我的问题是我无法绑定来自数据库的初始表单值

$myUserDetails = <details of my user coming from DB>;
$form = $form->bind($myUserDetails); //This should set the values for the form to display but it doesnt

我的显示逻辑很简单,如下所示

$form = $this->form;
$form->setAttribute('action',$this->url('<routename>',array('action'=>'<actionname>')));
$form->prepare();
echo $this->form()->openTag($form) . PHP_EOL;
echo $this->formRow($form->get('email_id')) . PHP_EOL;
echo $this->formRow($form->get('dob')) . PHP_EOL;
echo $this->formRow($form->get('gender')) . PHP_EOL;
echo $this->formRow($form->get('user_page_name')) . PHP_EOL;
echo $this->formInput($form->get('submit')) . PHP_EOL;
echo $this->form()->closeTag($form) . PHP_EOL;

现在我尝试从我的对象中设置数据,并将其绑定到控制器操作中的表单

$myUserDetails = <details of my user coming from DB>;
$form = $form->bind($myUserDetails);
$data = $myUserDetails->getArrayCopy();
$form->setData($data['data']);

这似乎以某种方式工作,并在视图中显示我的值.所以我只是想知道在我的第一种方法中我做错了什么?提前致谢 :)

解决方法

感谢@Stoyan Dimov我解决了这个问题.基本上我的模型中使用了getArrayCopy函数,因为我直接返回一个包含在索引’data’中的数组

所以我将getArrayCopy改为

public function getArrayCopy() {
        $data = get_object_vars($this);
        return $data['data'];
    }

瞧它工作了.

再次感谢Stoyan Dimov

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读