Laravel:如何将多选select2下拉列表中选中的数据插入到mysql数据库中?

问题描述:

我试图插入数据到数据库中。但我不知道如何将多选数据插入到mysql数据库中。Laravel:如何将多选select2下拉列表中选中的数据插入到mysql数据库中?

+0

检查,如果这个人能帮助http://*.com/questions/42164542/how-to-display-selected-values yin2-app – Deep

+0

可能的重复[如何在Yii2应用中的多个选择下拉列表中显示选定的值?](http://*.com/questions/42164542/how在多选的下拉菜单中选择多个选择的下拉菜单) – LuFFy

+0

''把这样的名字放在你的控制器中看作'print_r($ request ['my_select2'])''。然后,您可以通过连接这些多个值或以JSON格式插入到DB中 – webDev

您必须遍历多选数组,然后逐个保存。

foreach ($_POST['your_key'] as $selectedOption) { 
    // save $selectedOption to database 
} 

我不太清楚你多选

的意思,但我要告诉你如何在数据库中Laravel一枪插页多行。

首先,您创建要插入的数据的关联数组,其中包含列名作为键和值作为要插入的值。 比方说你有一个名为要在其中插入与您从您的形式得到了不同的名称,4个新行users表:

$data = [ 
    ['name'=>'xxx'], 
    ['name'=>'yyy'], 
    ['name'=>'zzz'], 
    ['name'=>'qqq'] 
]; 

然后使用模型为表(在我们的例子:用户),这将最有可能:

User::insert($data); 

比方说,你已经得到了有2列的表格:

CREATE TABLE table(
    id int not null primary key auto_increment, 
    selectValue /*Whatever*/ 
) 

,你已经向用户一次性插入数据有一个选择名为“MultipleValues []”(<select name='MultipleValues[]' multiple='multiple'/>),所以在你的控制器:

public function update(Request $request) 
{ 
    $insertData = []; 
    $multipleValues = $request->get('MultipleValues'); 
    foreach($multipleValues as $value) 
    { 
     $insertData['selectValue'] = $value; 
    } 
    DB::table('table')->insert($insertData); 
}