Почему этот код не сохраняет входные данные исследовательского поля в базу данных? Это сохраняет имя пользователя и хешированный пароль. Я использовал этот учебник.
src / Template / Users / asd.ctp
<?php
echo $this->Form->create("Users",array('url'=>'/users/asd'));
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('research');
echo $this->Form->button('Submit');
echo $this->Form->end();
?>
src / controller / UsersController.php
public function asd(){
if($this->request->is('post')){
$username = $this->request->data('username');
$research = $this->request->data('research');
$hashPswdObj = new DefaultPasswordHasher;
$password = $hashPswdObj->hash($this->request->data('password'));
$users_table = TableRegistry::get('asd');
$users = $users_table->newEntity();
$users->username = $username;
$users->password = $password;
$users->research = $research;
if($users_table->save($users))
echo "User is added.";
}
}
config / rout.php
$routes->connect('/users/asd', ['controller' => 'Users', 'action' => 'asd']);
Таблица базы данных MySQL
CREATE TABLE `asd` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`research` varchar(65) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB AUTO_INCREMENT = 7 DEFAULT CHARSET = utf8