为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
白板的微信 2023-05-26 17:41:35

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


这是 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.sycdn.imooc.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


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


查看完整描述

3 回答

?
GCT1015

TA贡献1659条经验 获得超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 改进你的代码风格。方法必须是驼峰式的,类名必须是大驼峰式的。


查看完整回答
反对 回复 3天前
?
暮色呼如

TA贡献1676条经验 获得超9个赞

这条线在这里看起来不对

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

$request->input('namedropdown')返回一个数组,您尝试为其分配返回值,$employee->namedropdown我认为它是string

所以你最好直接这样做:

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


查看完整回答
反对 回复 3天前
?
陪伴而非守候

TA贡献1607条经验 获得超8个赞

你应该这样做

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


查看完整回答
反对 回复 3天前
  • 3 回答
  • 0 关注
  • 8 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信