无法将 multi-select 下拉值保存到数据库
Cannot save multi-select dropdown value to the database
我想将多select下拉值保存到数据库。
这里是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
请帮助我将多select 下拉值保存到数据库。提前谢谢你。
您不需要将 $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');
}
P.S.: 你应该根据 PSR1、PSR2 和 PSR12 改进你的代码风格。方法必须是驼峰式的,class-名称必须是大驼峰式的。
这行看起来不对
$employee->namedropdown = $request->input('namedropdown');
$request->input('namedropdown')
将 return 一个 数组 并且您尝试将其 returned 值分配给 $employee->namedropdown
我相信它是 string.
所以你最好直接这样做:
$employee->namedropdown = implode(',', $request->input('namedropdown'));
希望对您有所帮助!
你应该这样做
$employee->namedropdown = implode(',', $request->input('namedropdown'));
我想将多select下拉值保存到数据库。
这里是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
请帮助我将多select 下拉值保存到数据库。提前谢谢你。
您不需要将 $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');
}
P.S.: 你应该根据 PSR1、PSR2 和 PSR12 改进你的代码风格。方法必须是驼峰式的,class-名称必须是大驼峰式的。
这行看起来不对
$employee->namedropdown = $request->input('namedropdown');
$request->input('namedropdown')
将 return 一个 数组 并且您尝试将其 returned 值分配给 $employee->namedropdown
我相信它是 string.
所以你最好直接这样做:
$employee->namedropdown = implode(',', $request->input('namedropdown'));
希望对您有所帮助!
你应该这样做
$employee->namedropdown = implode(',', $request->input('namedropdown'));