チェックボックスを含むフォームがあり、それらをデータベースに送信する最良の方法を知る必要があります。次のテーブル設定があります。
roles users user_roles
----- ----- ----------
id id user_id
role_id
ユーザーを編集し、チェックボックスを介してさまざまな役割を割り当てることができるページがあり、それらのチェックボックスは user_roles テーブルに保存されます。ユーザーのロールを編集するには、行を削除するか行を追加する必要があるため、現在の処理方法は次のとおりです。
my $form_vals = (1=>1,2=>2); #submitted by user
my $db_vals = (3=>3); #gotten out of db
これら 2 つのハッシュがあり、 のキーと のキーを比較すると$form_vals
、$db_vals
データベースに存在しない 2 つの余分な値があることがわかり、それらを追加します。逆に、キーとキーを比較して、フォームで選択されなくなった値を見つけ、$db_vals
それら$form_vals
の行をデータベースから削除します。私の質問は、これを行うためのより良い/簡単な方法を知っている人はいますか? チェックボックスをどのように処理するかは、私には決して明白ではありませんでした。ベストプラクティスとは何かを知りたいです。ありがとう!