在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)
强制转换只是为了确保有一个数组被传递给
内爆