2017-08-15 4 views
0

チェックボックスがあります。チェックされたときに配列に入る値をそれぞれ持っています。Laravelでは、古いヘルパーを使用して、 'value'が配列で、 'default'が基本値のとき、old( 'value'、 'default')の値を調べる方法は?

<input type="checkbox" id="card_type1" name="card_type[]" value="easy" @if(old('card_type') != NULL && in_array('easy', old('card_type')) || old('foo', $parkingLot->m_plots_can_easycard) === '1') checked @endif> 
<input type="checkbox" id="card_type2" name="card_type[]" value="icash" @if(old('card_type') != NULL && in_array('icash', old('card_type')) || old('foo', $parkingLot->m_plots_can_icash20) === '1') checked @endif> 
<input type="checkbox" id="card_type3" name="card_type[]" value="ipass" @if(old('card_type') != NULL && in_array('ipass', old('card_type')) || old('foo', $parkingLot->m_plots_can_ipass) === '1') checked @endif> 

初めてフォームを読み込む際に、データベースの値を反映したいと思います。 DBの値が「1」の場合、チェックボックスをオンにします。私はチェックボックスを修正します - いくつかをチェックしていくつかのチェックを外し - フォームを送信し、フォームの提出が失敗すると言う。もしそうなら、チェックボックスをチェックして古い値を反映させたいのです。

私の問題は、old('value', 'default')は '値'と 'デフォルト'の両方で構成されているため、チェックボックスをオンにするかどうかを決定するために別の方法を使用することはできません。そして、もし私が(上記のように)したら、old('default')を持つことはできません - そして、別のチェックをしてください - 一つのパラメータを持つことはそれをold('value')にするためです。

私は自分の状況でどうやって行くのか分かりません。どんなポインタや助けも大歓迎です。私は私の状況が何であるかを明確に描写してくれることを望みます

答えて

1

あなたはどのようなスマートなソリューション次

<input type="checkbox" id="card_type1" name="card_type[]" value="easy" 
    @if (in_array('easy', old('card_type', [$parkingLot->m_plots_can_easycard === '1' ? 'easy' : '']))) 
     checked 
    @endif> 
<input type="checkbox" id="card_type2" name="card_type[]" value="icash" 
    @if (in_array('icash', old('card_type', [$parkingLot->m_plots_can_icash20 === '1' ? 'icash' : '']))) 
     checked 
    @endif> 
<input type="checkbox" id="card_type3" name="card_type[]" value="ipass" 
    @if (in_array('ipass', old('card_type', [$parkingLot->m_plots_can_ipass === '1' ? 'ipass' : '']))) 
     checked 
    @endif> 
+0

をしようとします。したがって、基本的にデフォルト値を値の配列に変換するので、同じメソッドを使用して配列の値をチェックできますか? –

+0

@BenKaoはいデフォルト値に変換する 'in_array'を1回呼び出すことができます。期待どおりの値を出力しましたか? – chanafdo

+0

はい私はそれをテストし、私はそれに問題を見つけることができませんでした。 is_array()のように、配列がnullかどうかのチェックが必要かどうか質問できますか? –

関連する問題