0

私はcrudシステムを作成しました。ここでは、メイン モデルとそれに依存する詳細モデルがあります。したがって、親モデルに関連する詳細モデルに入力された複数の行 (場合によっては > 100 ) です。グリッドを介して処理されるすべての操作 (インライン編集)。そのため、作成、更新、削除操作は単一のリクエスト (DB を介した論理チェック) で実行されます。

現在、DBトランザクションを全体の操作に使用することを検討しています。しかし、同じ構造を使用してこれをどのように実装できるか、私は混乱しています。すべてのコードを 1 つのモデルに移動する提案が既にあるので、そこにトランザクションを適用できます。しかし、メイン モデル コードと詳細モデル コードの分離を維持するために他のアプローチを使用できるかどうかを考えています。

4

3 に答える 3

0

私の最後のコメントについては、コードを親モデルに移動することが今のところ私の解決策です。したがって、このスレッドに回答済みのマークを付ける必要があると思います。

于 2012-10-04T10:10:50.453 に答える
0

モデルではど​​のようなアプローチを使用していますか? モデルは自身の永続性を認識していますか ( のようなことをしていますか$user->save())、それともよりデータマッパーのアプローチを行っていますか ( $userManager->save($userEntity))? 後者は、トランザクション処理をより簡単にします。

アクティブ レコード タイプのパターン ( $user->save()) を実行している場合、おそらく最善の策は、db 接続を手動で取得し、コントローラーでトランザクションを管理することです。

データマッパーの作業を行っている場合は、作業単位全体の実装まで、より多くのオプションがあります。

于 2012-09-10T22:00:12.920 に答える