我有更新的个人资料视图,我的表格可以正常工作。当我加载此表单时,我需要它应该预先填充数据库值而不是空的。我不想使用会话。我正在使用 cakephp 3.8 版本,在 update_profile.ctp 文件中我有以下代码
echo $this->Form->control('firstname',['minlength'=>3, 'value'=>'' ]);
echo $this->Form->control('lastname',['minlength'=>3]);
我有更新的个人资料视图,我的表格可以正常工作。当我加载此表单时,我需要它应该预先填充数据库值而不是空的。我不想使用会话。我正在使用 cakephp 3.8 版本,在 update_profile.ctp 文件中我有以下代码
echo $this->Form->control('firstname',['minlength'=>3, 'value'=>'' ]);
echo $this->Form->control('lastname',['minlength'=>3]);
我们可以使用 $this->set(compact('Users')); 将数据从控制器传递到 update_profile.ctp 文件中。
这里的 users 是数据库中的一个表,其中包含名为“firstname”、“lastname”的字段
然后我们可以以我们的形式使用它
echo $this->Form->control('firstname',['minlength'=>3, 'value'=>'' ]);
echo $this->Form->control('lastname',['minlength'=>3]);
下面给出的是更新的功能
public function updateProfile() {
$user = $this->Users->newEntity();
$userId = $this->Auth->user('id');
$userData = $this->Users->get($this->Auth->user('id'));
if ($this->request->is('post')) {
//has post data execution code
}
//$this->set(compact('user'));
$this->set(compact('userData'));
}
你已经传递了“用户”变量,你必须传递 userData,因为在这个变量中你已经获取了用户的详细信息。一旦通过,表单将得到 pr-populated。