私は3つのテーブルを持っています、
Table1 には id(pk) と名前があります Table2 には id(pk) とカテゴリがあります Table3 はジャンクション テーブルであり、id(pk) と 2 つの外部キー table1_id (前述の table1 からの pk) と table2_id (前述の table2 からの pk) があります
フォーム ページには、入力ボックス (名前) と、Table2 からオプションを取得するドロップダウン リストがあります。フォームが送信されると、名前が Table1.name に入力され、Table3 にドロップダウン オプションの ID と入力された名前の ID が取り込まれます。
これはすべて期待どおりに機能しています。
私が答えを探しているシナリオは次のとおりです。
フォーム ページで、入力した名前が既に Table1 に存在するが、ドロップダウンと名前の組み合わせが以前に入力したものよりも一意である場合、その名前を Table1 に挿入しないで、その組み合わせをTable3 に挿入する必要があります。
Table1
| id | name |
-----------------
| 1 | John |
| 2 | Mark |
Table2
| id | category |
-----------------
| 1 | Red |
| 2 | Blue |
Table3
| id | table1_id | table2_id |
------------------------------
| 1 | 1 | 1 |
| 2 | 1 | 2 |