Strategi должно быть строкой - PullRequest
       31

Strategi должно быть строкой

0 голосов
/ 05 августа 2020

пожалуйста, помогите мне .. при вводе данных возникают такие проблемы "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;

это моя _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 Ответ

1 голос
/ 05 августа 2020

Здесь вы назначаете массив модели

$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())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...