Php o扩展管理员,该管理员确实可以访问它。我复制了ContactForm和SignupForm的现有用法,它们扩展了模型。我不知道我可以轻松地将模型替换为管理,并且它可以顺利工作。 class CreateAdminForm extends Model {
o扩展Php o扩展管理员,该管理员确实可以访问它。我复制了ContactForm和SignupForm的现有用法,它们扩展了模型。我不知道我可以轻松地将模型替换为管理,并且它可以顺利工作。 class CreateAdminForm extends Model { ,php,activerecord,yii,model,yii2,Php,Activerecord,Yii,Model,Yii2,o扩展管理员,该管理员确实可以访问它。我复制了ContactForm和SignupForm的现有用法,它们扩展了模型。我不知道我可以轻松地将模型替换为管理,并且它可以顺利工作。 class CreateAdminForm extends Model { public $nicename; public $username; public $email; public $password; public $role; public $status;
管理员
,该管理员确实可以访问它。我复制了ContactForm和SignupForm的现有用法,它们扩展了模型。我不知道我可以轻松地将模型替换为管理,并且它可以顺利工作。
class CreateAdminForm extends Model
{
public $nicename;
public $username;
public $email;
public $password;
public $role;
public $status;
public function createAdmin()
{
if ($this->validate()) {
$admin = new Admin();
$admin->nicename = $this->nicename;
$admin->username = $this->username;
$admin->email = $this->email;
$admin->role = $this->role;
$admin->status = $this->status;
$admin->setPassword($this->password);
$admin->generateAuthKey();
if ($admin->save()) {
return $admin;
}
}
return null;
}
}
<div class="admin-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'nicename')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'role')->dropDownList(
$model->getUserRoleDropdown(),
['prompt'=>' - Admin Role - ']
) ?>
<?= $form->field($model, 'status')->dropDownList(
$model->getUserStatusDropdown(),
['prompt'=>' - Admin Status - ']
) ?>
<?= (!$model->isNewRecord) ? Html::a('Change Password!', ['admin/change-admin-password', 'id' => $model->id]) . '<br /><br />' : '' ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
class CreateAdminForm extends Model
{
// This needs to be filled in with an instance of Admin. Maybe through your constructor or through dependency injection
protected $admin;
public function createAdmin()
{
if ($this->validate()) {
$this->admin->nicename = $this->nicename;
$this->admin->username = $this->username;
$this->admin->email = $this->email;
.
.
.
return $this->admin->save()
}
return false;
}
public function isNewRecord()
{
return $this->admin->isNewRecord;
}
}
class CreateAdminForm extends Admin
{
// CreateAdminForm specific code
}
class MyForm extends Model
{
}