请帮助我。 当数据输入出现此类问题时,“策略必须是字符串”。 这是我的控制器:
$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(); ?>
请帮助,高手
答案 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())