Я использую cakePHP и хочу добавить столбец «Имя» и «Фамилия» в таблицу «Пользователи», но когда я передаю значения полей firstname
& lastname
, столбцы всегда остаются пустыми, тогда как поля по умолчанию хорошо заселены.
Возможно ли это сделать или мне нужна вторая таблица для хранения этих значений?
Код обновления:
Регистрационная форма
<?php
$session->flash('register');
echo $form->create('User', array('action' => 'register/'));
echo '<h3>Register</h3>';
echo $form->input('firstname', array('label'=>'First Name'));
echo $form->input('lastname', array('label'=>'Last Name'));
echo $form->input('username');
echo $form->input('email');
echo '<input class="submitimg" type="image" src="' . $basepath . 'img/btn_submit.gif" alt="Submit" />';
echo $form->end();
?>
Зарегистрировать действие в user_controller.php
function register() {
if (!empty($this->data)) {
$password = $this->str_makerand(8,10);
$this->data['User']['password'] = $this->Auth->password($password);
$this->User->create();
$result = $this->User->save($this->data);
if ($result) {
$this->Session->setFlash('Registration complete, an email will be sent with your password', 'default', array(), 'register');
$this->sendNewUserMail($this->data['User']['username'], $this->data['User']['email'], $password);
} else {
$this->Session->setFlash('That username or email address is already taken, please try again', 'default', array(), 'register');
}
}
$this->redirect(array('controller' => 'properties', 'action' => 'index'));
}
Таблица пользователей MySQL:
CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
username char(50) DEFAULT NULL,
firstname varchar(100) NOT NULL,
lastname varchar(100) NOT NULL,
password char(50) DEFAULT NULL,
email varchar(100) NOT NULL,
created datetime NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY email (email),
UNIQUE KEY username (username)
)
Спасибо за вашу помощь