Yii2加载和保存ActiveForm

Yii2加载和保存ActiveForm,yii2,active-form,Yii2,Active Form,型号: 控制器: class Team extends ActiveRecord { public function rules() { return [ [['code', 'name'], 'required'], ]; } } 视图: 如何更改名称属性的值?名称属性的当前格式Team[code]是因为YiiActiveForm使用模型信息生成格式为ModelName[FieldName]的输入名称这有助于减少在保存前

型号:

控制器:

class Team extends ActiveRecord {
    public function rules() {
        return [
            [['code', 'name'], 'required'],
        ];
    }
}
视图:


如何更改名称属性的值?

名称属性的当前格式
Team[code]
是因为
YiiActiveForm
使用模型信息生成格式为
ModelName[FieldName]的输入名称
这有助于减少在保存前手动将
post
字段分配给模型字段的工作量,如果您不希望表单字段名称遵循
ActiveForm
格式,则需要使用helper创建表单和字段,但要小心,因为您现在需要手动将字段映射到模型,那又怎么样你要做的就是从

[{"field":"code",
  "message":"Code cannot be blank."},
 {"field":"name",
  "message":"Name cannot be blank."}]

然后调用
$model->save()
$model->validate()
,除此之外,请在调用
$model->load()
后立即尝试
打印($model->attributes)
,以检查值是否正确加载到
模型
名称
属性
团队[code]的当前格式
是因为
YiiActiveForm
使用模型信息生成格式为
ModelName[FieldName]的输入名称
这有助于减少在保存前手动将
post
字段分配给模型字段的工作量,如果您不希望表单字段名称遵循
ActiveForm
格式,则需要使用helper创建表单和字段,但要小心,因为您现在需要手动将字段映射到模型,那又怎么样你要做的就是从

[{"field":"code",
  "message":"Code cannot be blank."},
 {"field":"name",
  "message":"Name cannot be blank."}]

然后调用
$model->save()
$model->validate()
,除此之外,请在调用
$model->load()
后立即尝试
打印($model->attributes)
,检查值是否正确加载到
模型
中,以便输入的名称不应为
团队[代码]
但是应该是
code
但是为什么要这样做呢?难道不想将它们保存到数据库中吗?你到底想做什么也许我能帮你做得更好way@MuhammadOmerAslam是的,这是正确的,我确实想将它们保存到数据库中。当我只使用“代码”和“名称”时,我已经在另一个地方更新了这个表。但是我不是在那里用
ActiveForm
创建表单。谢谢你能提供的任何帮助!因此,您希望输入的名称不应为
Team[code]
,而应为
code
,但为什么要这样做?您不想将它们保存到数据库中吗?你到底想做什么也许我能帮你做得更好way@MuhammadOmerAslam是的,这是正确的,我确实想将它们保存到数据库中。当我只使用“代码”和“名称”时,我已经在另一个地方更新了这个表。但是我不是在那里用
ActiveForm
创建表单。谢谢你能提供的任何帮助!因此,我为我的任务选择了错误的工具。为了继续使用
ActiveForm
,我是否必须更改型号或控制器?你说
ModelName[FieldName]
有助于减少工作量,但目前我得到的回答是
code
name
没有价值,这意味着
ModelName[FieldName]
不是我的控制器或模型所期望的格式。为了使用
ModelName[FieldName]
格式,我是否必须更改我的控制器或模型?为了在向任何控制器操作提交表单时使用活动表单,您需要在那里查看,如果您使用
$model->load(Yii:$app->request->post()正确加载带有post数组的模型
然后调用
$model->save()
$model->validate()
,除此之外,请在调用
$model->load()
后立即尝试打印($model->attributes)
以检查值是否正确加载到model@HarrySo中。因此,我为我的任务选择了错误的工具。为了继续使用
ActiveForm
,我是否必须更改型号或控制器?你说
ModelName[FieldName]
有助于减少工作量,但目前我得到的回答是
code
name
没有价值,这意味着
ModelName[FieldName]
不是我的控制器或模型所期望的格式。为了使用
ModelName[FieldName]
格式,我是否必须更改我的控制器或模型?为了在向任何控制器操作提交表单时使用活动表单,您需要在那里查看,如果您使用
$model->load(Yii:$app->request->post()正确加载带有post数组的模型
然后调用
$model->save()
$model->validate()
,除此之外,请在调用
$model->load()
后立即尝试
打印($model->attributes)
,以检查值是否正确加载到model@Harry>中
[{"field":"code",
  "message":"Code cannot be blank."},
 {"field":"name",
  "message":"Name cannot be blank."}]
<?php $form = ActiveForm::begin(['action' => 'team/create'], 'options' => ['data-pjax' => true ]]); ?>
    <?= $form->field($model, 'code')->textInput() ?>
    <?= $form->field($model, 'name')->textInput() ?>
    <div class="form-group">
        <?= Html::submitButton(Yii::t('app', 'Create'), ['class' => 'btn btn-success']) ?>
    </div>
<?php ActiveForm::end(); ?>
<?= yii\helpers\Html::beginForm(['team/create', 'id' => 'team-form'], 'post', ['data-pjax' => true]) ?>
     <?= yii\helpers\Html::activeInput('text',$model, 'code')?>
     <?= yii\helpers\Html::activeInput('text',$model, 'name')?>
    <div class="form-group">
        <?= Html::submitButton(Yii::t('app', 'Create'), ['class' => 'btn btn-success']) ?>
    </div>
<?= Html::endForm() ?>
$model->load(Yii::$app->request->post())