Yii2 Strategi必须是一个字符串

Yii2 Strategi必须是一个字符串,yii2,Yii2,请帮帮我。。 当数据输入出现此类问题时,“Strategi必须是字符串” 这是我的控制器: $isistrategi = $_POST['FormNarasi']; $fn = FormNarasi::find()->where([ 'kriteria_id' => $model->id, 'form_spmi_id' => $formSpmi->id, ])->one(); if(empty($fn)

请帮帮我。。 当数据输入出现此类问题时,“Strategi必须是字符串” 这是我的控制器:

$isistrategi = $_POST['FormNarasi'];
$fn = FormNarasi::find()->where([
  'kriteria_id' => $model->id,
  'form_spmi_id' => $formSpmi->id,
])->one();  
                      
if(empty($fn))
  $fn = new FormNarasi;
$fn->kriteria_id = $model->id;
$fn->form_spmi_id = $formSpmi->id;
$fn->strategi = $isistrategi;
这是我的表格:

<?php
  $fn = FormNarasi::find()->where([
    'kriteria_id' => $model->id,
    'form_spmi_id' => $formSpmi->id
  ])->one(); 

  echo $form->field($fn, 'strategi')->widget(CKEditor::className(), [
    'options' => ['rows' => 6],
    'preset' => 'advance'
  ])
?>


<div class="form-group">
  <?= Html::submitButton('Save', ['class' => 'btn btn-success','value'=>'1','name'=>'btn-submit']) ?>
</div>
    
<?php ActiveForm::end(); ?>


请提供帮助,master

您正在为模型分配一个数组

$isistrategi = $_POST['FormNarasi'];
...
$fn->strategi = $isistrategi;  // HERE
在下面的代码中,您正在访问它。分配了一个数组。因此,您应该在那里指定一个字符串(CKEditor的内容)


正如@Sfili_81所提到的,不要直接访问$\u POST,而是使用
$model->load(Yii::$app->request->POST())

检查模型规则,如果插入的值不是字符串,则错误很明显。PS不要直接使用$\U POST非常感谢您提供的信息。我再试一次。
echo $form->field($fn, 'strategi')->widget(CKEditor::className(), [  // HERE 
...
  ])