Javascript 使用模型保存kartik select2小部件数据
我正在使用kartik select2小部件,我希望它通过将数据传递给控制器将数据保存到数据库中 我试过这个Javascript 使用模型保存kartik select2小部件数据,javascript,php,yii2,yii-extensions,Javascript,Php,Yii2,Yii Extensions,我正在使用kartik select2小部件,我希望它通过将数据传递给控制器将数据保存到数据库中 我试过这个 1.select2小部件 <?php $form = ActiveForm::begin(['id'=>$model->formName()]); ?> <?php echo $form->field($model, 'unitid')->widget(Select2::classname(), [
1.select2小部件
<?php $form = ActiveForm::begin(['id'=>$model->formName()]); ?>
<?php
echo $form->field($model, 'unitid')->widget(Select2::classname(), [
'data' => ArrayHelper::map($model2,'unitid','unitname'),
'language' => 'de',
'options' => ['multiple' => true, 'placeholder' => 'Select a Unit '],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
<?php ActiveForm::end(); ?>
在尝试之后,输出始终作为字符串传递
echo json_encode($model->unitid);
在控制器上,它返回一个字符串而不是整数
就是
如何将($model->unitid)转换为post参数的整数
$model->unitid = (int) $model->unitid;
仅此而已。显示的错误是什么……它只是显示保存失败[object]它还显示500个内部服务器问题然后错误可能出现在您试图保存表单数据的控制器操作中。我在验证规则中看到它,但在更正后,$.post似乎将整数作为字符串传递。您知道如何将字符串转换为整数吗
echo json_encode($model->unitid);
["5"]
$model->unitid = (int) $model->unitid;