无法将多选下拉值保存到数据库

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


这是 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>

http://img1.mukewang.com/64707ee00001854102220238.jpg

这是控制器中的保存功能


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


请帮助我将多选下拉值保存到数据库中。先感谢您。


白板的微信
浏览 186回答 3
3回答

GCT1015

您不需要将 分配$request->input('namedropdown')到模型中。试试这个代码:public function empstore(Request $request){$employee = new employee();$employee->namedropdown = implode(',', $request->input('namedropdown'));$employee->save();return redirect()->route('employee.index')&nbsp; &nbsp; ->with('success','Data Added');}PS:你应该根据 PSR1、PSR2 和 PSR12 改进你的代码风格。方法必须是驼峰式的,类名必须是大驼峰式的。

暮色呼如

这条线在这里看起来不对$employee->namedropdown&nbsp;=&nbsp;$request->input('namedropdown');将$request->input('namedropdown')返回一个数组,您尝试为其分配返回值,$employee->namedropdown我认为它是string。所以你最好直接这样做:$employee->namedropdown&nbsp;=&nbsp;implode(',',&nbsp;$request->input('namedropdown'));

陪伴而非守候

你应该这样做&nbsp;&nbsp;&nbsp;$employee->namedropdown&nbsp;=&nbsp;implode(',',&nbsp;$request->input('namedropdown'));
打开App,查看更多内容
随时随地看视频慕课网APP