私は現在、このような入力でデータベースレコードを更新しています
$this->my_model->update($id, $this->input->post()));
(これは、すべての入力に対して検証を実行した後です。「モデル」には、期待されるデータの white_list もあります。)
問題:チェックボックスを更新していて、それが「チェックされていない」(つまり「false」) 場合、そのフィールドはブラウザによって「投稿」されません。
たとえば、checkbox_two をオンにして、checkbox_one をオフのままにすると、$_POST は次のように表示されます。
[field_one] = "some value"
[field_two] = "some value"
[checkbox_two] = 1
したがって、投稿の一部ではないため、私のモデルはそのフィールドを更新しません。
「チェックされた」チェックボックスが「1」として投稿されるため、同じことが逆に発生せず、正しく更新されます。
[field_one] = "some value"
[field_two] = "some value"
[checkbox_one] = 1
[checkbox_two] = 1
質問:各チェックボックスを常に明確にチェックする必要がある以外に、これを処理するためのエレガントなソリューションを持っている人はいますか?