Пытаюсь расширить форму регистрации, добавить к стандартным полям новые, например телефон.
форма
<?= $form->field($model, 'username', [
'inputOptions' => ['placeholder' => 'Название'],
'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-link text-muted"></i></div></div>'
]) -> label(false);
?>
<?= $form->field($model, 'email', [
'inputOptions' => ['placeholder' => 'email'],
'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-mention text-muted"></i></div></div>'
]) -> label(false);
?>
<?= $form->field($model, 'telephone', [
'inputOptions' => ['placeholder' => 'телефон'],
'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-iphone text-muted"></i></div></div>'
]) -> label(false);
?>
<?= $form->field($model, 'password', [
'inputOptions' => ['placeholder' => 'пароль'],
'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-user-lock text-muted"></i></div></div>'
]) -> label(false)->passwordInput();
?>
после нажатия на кнопку данные попадают в контролер
$user = $model->signup()
с контролера в модель
public $username;
public $email;
public $password;
public $telephone;
public function signup()
{
if (!$this->validate()) {
return null;
}
$user = new User();
$user->username = $this->username;
$user->telephone = $this->telephone;
$user->email = $this->email;
$user->setPassword($this->password);
$user->generateAuthKey();
return $user->save() ? $user : null;
}
а тут получается $user->telephone = $this->telephone; NULL если в посмотреть то print_r($_POST); все есть, может что то не сделал или не не дописал
Проверял его в rules? Так как по умолчанию все атрибуты не перечисленные в rules у модели являются unsafe, т.е. не безопасными и в случае не очевидного присваивания (через load или setAttributes) будут проигнорированы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей