策略必须是字符串

时间:2020-08-05 04:32:38

标签: yii2

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

$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;

这是我的_form:

<?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(); ?>

请帮助,高手

1 个答案:

答案 0 :(得分:1)

这里您要为模型分配一个数组

$isistrategi = $_POST['FormNarasi'];
...
$fn->strategi = $isistrategi;  // HERE

,在下面的代码中您正在访问它。有分配的数组。因此,您应该在其中分配一个字符串(CKEditor的内容)

echo $form->field($fn, 'strategi')->widget(CKEditor::className(), [  // HERE 
...
  ])

如@ Sfili_81所述,请勿直接访问$ _POST,而应使用$model->load(Yii::$app->request->post())

相关问题