数十個ある選択肢から複数登録でき、個別に数値を変更できる。選択肢を変更しても新しいデータは新規登録、重複したデータはそのまま、前回は選択で今回未選択のデータは削除にする場合の考え方。
題名がとてもわかりずらいのですが、 例えば月間で目標を10個指定できる機能があり、個別に日々の達成度や目標期間を設定出来る機能があるとします。
その後、一部目標を変更するときに新しい目標は追加し、今回も変わらない目標は達成度も期間もそのまま、前回は設定してあって今回は選ばれなかった目標は削除したいとします。
その実装に詰まってしまって先輩から聞いて出来た考え方としては、
1,tmp_flgのようなカラムを目標のテーブルに追加 2.追加変更をするときに全部のカラムにフラグを立てる。 3.重複すればフラグを折り、リクエストデータも削除。 4.一旦フラグが折れなかったレコードを削除(今回選択されなかった為。) 5.残ったリクエストデータから新規目標を検索追加。
以上の段階で実装することができました。
先輩もこれが完璧なやり方とは思っていなく、今後ももっと良いロジックの組み方があるのか模索していきます。