Laravel 将复选框值从视图传递到控制器

Laravel 将复选框值从视图传递到控制器,laravel,laravel-5,Laravel,Laravel 5,如何将复选框值从视图传递到控制器,以便比较选中/未选中的值(用于数据库更新) 观点: @foreach ($second as $sec) <br> <div class = "form-group"> {{$sec->Roll }} &nbsp&nbsp&nbsp&nbsp {{ $sec->Name}} </div> <div

如何将复选框值从视图传递到控制器,以便比较选中/未选中的值(用于数据库更新)

观点:

@foreach ($second as $sec)
    <br>
    <div class = "form-group">
        {{$sec->Roll }}
        &nbsp&nbsp&nbsp&nbsp
        {{ $sec->Name}}
    </div>
    <div class = "form-group">
        <input tabindex="1" type="checkbox" value="{{$sec->Roll}}"  name="1" />
    </div>
@endforeach
Ps:这可能只适用于我的描述与你想做的相符的情况,因为你的问题似乎如此


我这样做的方法之一是不在checkbox元素中添加任何值。然后检查返回的值是否为带有is_string(_变量)的string。也就是说,而不是:

<input tabindex="1" type="checkbox" value="{{$sec->Roll}}"  name="checkbox_1"  />
我应该将选中的值设置为“开”,将未选中的值设置为
null

因此,我将在控制器中执行以下操作:

foreach ($columns as $col) {
    //dd("Y");
    if($col == $txt[1]) {
        $got=DB::table($req)->select($col)->get();
        //dd($got);
        //COMPARE CHECKBOX VALUE "CHECKED/UNCHECKED" WITH ITS DEFAULT VALUE 
        DB::statement("UPDATE " . $req . " set " . $got . " to " . $got . " + 1 WHERE" .$req->Roll . " IN ".( implode(',', $req)));
    }
}
return request()->all();
if(is_string(request()->get('checkbox_1))) {
    //checked
else {
    // unchecked
}
希望这一点现在清楚了

仅供更新:

另一种方法是在创建foreach时传递您试图更新的列的键,因此您将有如下内容:

@foreach ($second as $key=> $sec) 
然后在复选框上,它将用作不同的名称:

<input tabindex="1" type="checkbox" name="{{ $key }}" /> 

如果返回
request()->all(),则使用这种方法
首先在控制器中,您可以判断是否有其他错误


请确保注意foreach()中的
$key
,以确保所做的事情是正确的。

我这样做的方法之一是不在checkbox元素中添加任何值。然后检查返回的值是否为带
的string(\u变量)
。这可能不是一个理想的解决方案,但如果您尝试过,可能会有点奇怪。任何选中的复选框的值都是“开”,而未选中的复选框的值都是
null
您是否也尝试过检查您请求中的值?您能否详细说明一下?它只返回null值:(@arunimabaidia在提交表单之前,您应该检查复选框,并确保您调用的是请求的正确参数。从我给出的示例中可以看出,我调用的复选框名为
checkbox\u 1
,这非常重要,以便知道您所拥有的内容是否正确,它是否工作正常!!但这里有一个我在做一大堆的复选框,只为一个value@ArunimaBadiya,另一种方法是在创建foreach时传递您试图更新的列的键,因此您将得到如下内容:
@foreach($key=>second)
然后在复选框上,它将用作不同的名称:
如果您执行
返回请求()->all(),则使用这种方式
首先在控制器中,您可以判断是否有其他错误。我想问题是,您所有的复选框只有一个名称,即“1”,这意味着在提交时,您可能会有一个空值。
<input tabindex="1" type="checkbox" name="{{ $key }}" />