我想将多选下拉值保存到数据库中。这是 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请帮助我将多选下拉值保存到数据库中。先感谢您。
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
您不需要将 分配$request->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');
}
PS:你应该根据 PSR1、PSR2 和 PSR12 改进你的代码风格。方法必须是驼峰式的,类名必须是大驼峰式的。
暮色呼如
TA贡献1853条经验 获得超9个赞
这条线在这里看起来不对
$employee->namedropdown = $request->input('namedropdown');
将$request->input('namedropdown')
返回一个数组,您尝试为其分配返回值,$employee->namedropdown
我认为它是string。
所以你最好直接这样做:
$employee->namedropdown = implode(',', $request->input('namedropdown'));
陪伴而非守候
TA贡献1757条经验 获得超8个赞
你应该这样做
$employee->namedropdown = implode(',', $request->input('namedropdown'));
- 3 回答
- 0 关注
- 185 浏览
添加回答
举报
0/150
提交
取消