Laravel:如何使用select2将多个数据插入mysql数据库?

SHadecute:

我正在尝试将数据插入数据库。但是我不知道如何将多个选择数据插入mysql数据库。

在此处输入图片说明

                               <div class="form-group">
                                        <select name="languages[]" class="select2 form-control" multiple="multiple "required>
                                            <option selected>English</option>
                                            <option VALUE="french">French</option>
                                            <option VALUE="german">German</option>
                                            <option VALUE="spanish">Spanish</option>
                                            <option VALUE="turkish">Turkish</option>
                                            <option VALUE="italian">Italian</option>
                                        </select>
                                    </div>
                                </div>

控制者

    public function store(Request $request)
{
    User::create($request->all());
    return redirect()->back();
}

返回错误

ErrorException数组到字符串的转换

STA:

$request->languges是一个数组,您不能将数组保存到VARCHAR()字段中。
在您的name属性languages[]中将创建一个array,而不是string。而name属性则languages是一个字符串
如果您有一个数组,那么您的控制器中需要一个foreach循环。
使用select2时,您需要在发送多个数据时创建一个数组
table 属性必须是字符串而不是数组,所以让我们将数组转换string

与服务器端

foreach

public function store(Request $request)
{
    $data = $request->all();
    $x = NULL;
    foreach($request->languages as $key => $value) {
      $x .= $value .", ";
    }
    $data['languages'] = $x;
    User::create($data);
    return redirect()->back();
}

或者,使用Implode

public function store(Request $request)
{
    $data = $request->all();
    $data['languages'] = implode(',', $request->languages);
    User::create($data);
    return redirect()->back();
}

在客户端,jQuery

您的标题为“将选择框的选定值作为字符串发送到PHP”。您可以在JS中通过捕获表单的Submit事件并使用.join()来更改该字段的值来做到这一点。

$('#formid').on('submit', function(){
    $('#e1').val($('#e1').val().join(','));
});

您的表格(未提供)将需要一个ID <form id="formid" ...>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章