在laravel上输入具有多个值的复选框
我使用复选框进行输入,只有硬件表需要输入多个复选框值 当我尝试使用内爆时,出现了错误异常:“内爆():传递的参数无效” 这里是我的控制器代码:在laravel上输入具有多个值的复选框,laravel,checkbox,implode,Laravel,Checkbox,Implode,我使用复选框进行输入,只有硬件表需要输入多个复选框值 当我尝试使用内爆时,出现了错误异常:“内爆():传递的参数无效” 这里是我的控制器代码: auth()->user()->Form()->create ([ 'user_id' => $request->user_id, 'os' => $request->os, 'hardware' => implode(',', $request->input('hardwa
auth()->user()->Form()->create
([
'user_id' => $request->user_id,
'os' => $request->os,
'hardware' => implode(',', $request->input('hardware')),
// $arrayToString = implode(',', $request->input('hardware'));
'software' => $request->software,
'signature' => $signature,
'status_desc' => $request->status_desc,
'cancel_deskripsi' => $request->cancel_deskripsi
]);
dd($form);
return redirect()->route('form')->with('status', 'success');
我的视图代码:
<div class="form-group col-md-12">
<label>Hardware :</label>
<div class="checkbox-list">
<label class="form-group col-md-4">
<input type="checkbox" id="hardware" name="hardware[]" value="Komputer AIO">
<span></span>
Komputer AIO
</label>
<label class="form-group col-md-4">
<input type="checkbox" class="form-group" id="hardware" name="hardware" value="Laptop">
<span></span>
Laptop
</label>
<input id="other" name="how" type="checkbox" class="form-group">
<label for="other" class="form-group">Other :</label>
<div class="other-disclosure">
<input type="text" name="hardware" id="os-other" class="form-group col-md-2" placeholder="...">
</div>
</div>
硬件:
康普特AIO
笔记本电脑
其他:
如何解决此问题?您可能希望将所有这些输入命名为
硬件[]
(这样它们都将作为输入硬件
)在一个数组中结束,如果没有传递任何内容(未选中复选框),您应该确保处理此问题:
'hardware' => implode(',', (array) $request->input('hardware', []));
在这里,如果没有传递任何内容,那么$request->input('hardware',[])
就是[]
,一个数组。(array)
强制转换只是为了确保有一个数组被传递给内爆