Php o扩展管理员,该管理员确实可以访问它。我复制了ContactForm和SignupForm的现有用法,它们扩展了模型。我不知道我可以轻松地将模型替换为管理,并且它可以顺利工作。 class CreateAdminForm extends Model {

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;

o扩展
管理员
,该管理员确实可以访问它。我复制了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
  {

  }