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。