cakephp 3 在文本框中预填充用户详细信息
cakephp 3 prefill user details in textbox
我更新了个人资料视图,并且我的表格可以正常使用。当我加载此表单时,我需要它应该预先填充数据库值而不是空的。我不想使用会话。
我使用的是 cakephp 3.8 版本,在 update_profile.ctp 文件中我有以下代码
echo $this->Form->control('firstname',['minlength'=>3, 'value'=>'' ]);
echo $this->Form->control('lastname',['minlength'=>3]);
我们可以使用控制器将数据传递到 update_profile.ctp 文件
$this->set(compact('Users'));
此处用户是 table 数据库,其中包含名为 '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'));
}
您已经传递了 "user" 变量,您必须传递 userData,因为在这个变量中您已经获取了用户详细信息。
一旦通过,表单将得到 pr-populated。
我更新了个人资料视图,并且我的表格可以正常使用。当我加载此表单时,我需要它应该预先填充数据库值而不是空的。我不想使用会话。 我使用的是 cakephp 3.8 版本,在 update_profile.ctp 文件中我有以下代码
echo $this->Form->control('firstname',['minlength'=>3, 'value'=>'' ]);
echo $this->Form->control('lastname',['minlength'=>3]);
我们可以使用控制器将数据传递到 update_profile.ctp 文件 $this->set(compact('Users'));
此处用户是 table 数据库,其中包含名为 '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'));
}
您已经传递了 "user" 变量,您必须传递 userData,因为在这个变量中您已经获取了用户详细信息。 一旦通过,表单将得到 pr-populated。