gpt4 book ai didi

php - 如何在 Yii2 中使用 kartik-Select2 小部件项目将所选项目保存到数据库?

转载 作者:可可西里 更新时间:2023-11-01 08:40:00 24 4
gpt4 key购买 nike

我的问题如下。我正在尝试将多个项目插入到 mysql 数据库表中。我使用 Kartik-Select2 小部件进行项目选择。以下代码对我有用,我可以用它选择多个项目。

 <?= $form->field($model, 'categories')->widget(Select2::className(), [
'data' => $model->availableCategories(),
'model' => $model,
'attribute' => 'categories',
'language' => 'en',
'options' => ['placeholder' => 'Select a site...'],
'pluginOptions' => [
'allowClear' => true,
'multiple' => true,
],
]) ?>

但是现在如何将选定的项目保存到数据库表中。所选项目存储在哪里(小部件内是否有一些数组)?我的“类别”属性在模型类中定义为:

public $categories = [];

我认为选定的项目会填充到它。但它不起作用(表单提交后数组为空)。我阅读了许多类似的主题,但没有找到完整和完整的解释它是如何工作的。我是 Yii2 的新手,可能迷路了。感谢您的帮助。

最佳答案

通常多选项目以这种方式保存(这是一种简化的方式)

  public function actionYourAction()
{
$post = Yii::$app->request->post();

if (!empty($post)){

$postModel = $post['YourModel'];
$postModelMulti= $postModel['your_multi_attribute'];

if ( !empty( $postModelMulti) ){
foreach ($postModelMulti as $key => $value) {

$newModel = new YuorModelToAdd();

$newModel->your_attribute = $value;

$newModel->save();
}
}
}
......

关于php - 如何在 Yii2 中使用 kartik-Select2 小部件项目将所选项目保存到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35683606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com