2017-07-03 29 views
-2

チェックボックスの値をビューからコントローラに渡して、チェックされた/チェックされていない値(データベースの更新用)を比較する方法を教えてください。ビューからコントローラへのチェックボックス値の受け渡し

再生回数:

@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 

コントローラー:

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))); 
    } 
} 
+0

私が行った方法の1つは、チェックボックス要素に値を設定することではありません。次に、返される値が 'is_string($ the_variable)'で文字列かどうかを検査します。これは理想的な解決策ではないかもしれませんが、試してみると少し不思議です。チェックされているチェックボックスには値として「オン」があり、チェックされていないチェックボックスには「ヌル」があります。リクエスト内の値を調べようとしましたか? –

+0

詳細を教えてください。 –

答えて

0

シモンズ:これは、あなたの質問がそう思えるので、私の説明は、あなたがやろうとしているものと一致する場合にのみ適用されるかもしれません。

私が行った方法の1つは、チェックボックス要素に値を設定することではありません。次に、返された値がis_string($ the_variable)で文字列かどうかを検査します。つまり、代わりに:

<input tabindex="1" type="checkbox" value="{{$sec->Roll}}" name="checkbox_1" /> 

私が持っているでしょう:

<input tabindex="1" type="checkbox" name="checkbox_1" /> 

あなたはそれを試してみました場合、これは理想的なソリューションが、少し好奇心ではないかもしれません。 ので未確認1がnull持っているだろうが、コントローラには、いずれかの確認チェックボックスは、値として「オン」だろう:私は私のコントローラで行う場合はそう

を:

return request()->all(); 

私はの値を取得する必要があります「オン」としてチェックしてnull

として未チェックの値は、だから私は、コントローラ、例えばやる:

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();を返却する場合は、することができますその後、TE他の何かが間違っているかどうか。

foreach()に$keyが書き込まれていることを確認して、正しいことをしていることを確認してください。

+0

そのNULL値のみを返します。 : '( –

+0

@ArunimaBaidyaフォームを送信する前にチェックボックスをオンにして、リクエストの正しいパラメータを呼び出していることを確認する必要があります。私が与えた例からわかるように、私は 'checkbox_1'という名前のチェックボックスを呼んでいます。これはあなたが持っているものが正しいかどうかを知るために非常に重要です。 –

+0

うまくいっています!しかしここでは、チェックボックスのすべての作業に取り組んでいます。ただ1つの値のために働いています –

関連する問題