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

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

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

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>这是控制器中的保存功能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 改进你的代码风格。方法必须是驼峰式的,类名必须是大驼峰式的。


查看完整回答
反对 回复 2023-05-26
?
暮色呼如

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

这条线在这里看起来不对

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

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

所以你最好直接这样做:

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


查看完整回答
反对 回复 2023-05-26
?
陪伴而非守候

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

你应该这样做

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


查看完整回答
反对 回复 2023-05-26
  • 3 回答
  • 0 关注
  • 185 浏览

添加回答

举报

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