我想將多選下拉值保存到數據庫中。這是 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 關注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消