You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel循环中批量修改单选按钮对应的数据状态

批量修改Laravel产品状态(循环内单选按钮批量编辑)

需要实现循环内多个单选按钮的批量编辑产品状态功能,现有前后端代码无法正常完成批量更新,以下是修正后的代码:

前端视图代码修正

<?php $i = 1; ?>
@foreach ($products as $product)
    <tr>
        <td scope="row">{{ $i++ }}</td>
        <td>{{ $product->name ?? '' }}</td>
        <td><img src="{{asset($product->image)}}" class="product-img-2" alt="product img"></td>
        <td>
            <div class="col-md-2">
                <div class="form-check form-check-inline">
                    <input class="form-check-input" type="radio" name="status[{{$product->id}}]" value="active" {{($product->status == 'active') ? 'checked' : '' }} id="Active-{{$product->id}}">
                    <label class="form-check-label" for="Active-{{$product->id}}">
                        active
                    </label>
                </div>
                <div class="form-check form-check-inline">
                    <input class="form-check-input" type="radio" name="status[{{$product->id}}]" value="deactive" {{ ($product->status == 'deactive') ? 'checked' : '' }} id="Deactive-{{$product->id}}">
                    <label class="form-check-label" for="Deactive-{{$product->id}}">
                        deactive
                    </label>
                </div>
            </div>
        </td>
    </tr>
@endforeach

前端修改说明:

  • 移除多余的隐藏ID输入框,单选按钮的name="status[{{$product->id}}]"已将产品ID作为数组键传递给后端
  • 为单选按钮和对应标签设置唯一ID,避免多个产品的单选按钮ID冲突导致交互异常

后端控制器方法修正

public function active_deactive(Request $request){
    if (isset($request->status) && is_array($request->status)) {
        foreach ($request->status as $productId => $status) {
            Product::where('id', $productId)->update(['status' => $status]);
        }
    }
    return Redirect()->back();
}

后端修改说明:

  • 循环$request->status数组时,同时获取产品ID(数组键)和对应的状态值(数组值)
  • 针对每个产品ID直接更新状态字段,修复原代码中错误引用参数的问题
  • 增加数组有效性判断,确保处理的是合法数据

内容的提问来源于stack exchange,提问作者abdulmonem alnasrabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:45:24