【问题标题】:Cannot save multi-select dropdown value to the database无法将多选下拉值保存到数据库
【发布时间】:2020-06-16 08:42:10
【问题描述】:

我想将多选下拉值保存到数据库中。

这里是blade.php

 <select name="namedropdown[]" id="namedropdown" class="selectpicker" multiple data-live-search="true">
    <option value="" disabled selected>Nothing selected</option>
        @foreach ($tdropdown as $tdrop)
        <option value="{{$tdrop}}">{{$tdrop}}</option>
        @endforeach
 </select>

这是控制器中的保存功能

public function empstore(Request $request){

$employee = new employee();

$employee->namedropdown = $request->input('namedropdown');
$employee->namedropdown = implode(',', $employee->namedropdown);

$employee->save();
return redirect()->route('employee.index')->with('success','Data Added');

}

从我的代码来看,错误为Array to string conversion

请帮助我将多选下拉值保存到数据库。提前谢谢你。

【问题讨论】:

  • 你能分享一下你的 ``$request->input('namedropdown')` 吗?
  • 显示var_dump($_POST['namedropdown']); ?
  • 导入DB时尝试使用serialize($request->input('namedropdown')),需要再次转为数组时反序列化。

标签: php laravel multi-select implode


【解决方案1】:

您无需将$request-&gt;input('namedropdown') 分配到模型中。

试试这个代码:

public function empstore(Request $request){

$employee = new employee();
$employee->namedropdown = implode(',', $request->input('namedropdown'));

$employee->save();

return redirect()->route('employee.index')
    ->with('success','Data Added');
}

P.S.:您应该根据 PSR1、PSR2 和 PSR12 改进您的代码风格。方法必须是驼峰式大小写,类名必须大写驼峰式。

【讨论】:

    【解决方案2】:

    这行看起来不对

    $employee->namedropdown = $request->input('namedropdown');
    

    $request-&gt;input('namedropdown') 将返回一个 array,您尝试将其分配给 $employee-&gt;namedropdown,我认为它是 string

    所以你最好直接这样做:

    $employee->namedropdown = implode(',', $request->input('namedropdown'));
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      你应该这样做

         $employee->namedropdown = implode(',', $request->input('namedropdown'));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-02
        • 1970-01-01
        相关资源
        最近更新 更多