0

管理パネルにさまざまなフィールドのフォームを作成しました。ここで、ここのフィールドは1つのテーブルに属していません。保存時に、一部の値を1つの特定のテーブルに入れ、他の値を他のテーブルに入れたいと思います。結合を使用してデータを表示することはできますが、それらを元に戻す方法がわかりません。

たとえば、フィールドを持つtblUserがあります。

tblUser

- user_id        INT(11)         Auto Increment
- username       VARCHAR(15)
- store_id       SMALLINT(5)
- bank_id        INT(11)

ここで、store_idとbank_idには、それぞれtblcore_store(id、store_name)とtblBanks (id、bank_name、bank_acc)のIDを自動インクリメントする外部キー制約があります。これで、フォームのフィールドは次のようになります。

  • ユーザー名
  • ストアID
  • 店名
  • 銀行名
  • 銀行口座

管理者が[保存]をクリックすると、フォームのデータがそれぞれのテーブルに配置され、store_idとbank_idにも参照が含まれるようになります。

4

1 に答える 1

0

最初に tblcore_store と tblbanks にデータを挿入する必要があります。次に、テーブルのステータスによって ID を見つけるか、両方のテーブルから最後のレコードを取得します。

両方のIDを取得した後、tblUserにデータを挿入できます

どのフレームワークでも以下の手順に従うことができます

  1. 新しい取引を開始
  2. 最初のテーブルにデータを挿入
  3. 最後の挿入 ID を取得する
  4. 上記のポイントからの最後の挿入 ID を使用して、2 番目のテーブルにデータを挿入します
  5. 取引を閉じる
  6. このモデル関数からトランザクション ステータスや必要なものを返す

トランザクションを使用できるデータベースを使用することを忘れないでください。そうしないと、何も起こりません。

于 2013-02-01T10:59:19.947 に答える