-1

私は現在、CodeIgniterとDatamapperORMを使用してアプリケーションを操作しており、データベースにデータを保存しようとしています。私には、相互に多対多の関係を持つ2つのテーブルがあります。例:ShoeDesignsとShoePieces。また、ShoeDesignsとShoePiecesの間の結合テーブル(ShoeDesigns_ShoePieces)にいくつかのデータを保存したいと思います。私は例を探し回ろうとしましたが、運がありません。

実際にそれを行うことができるかどうか、そして1回の保存呼び出しでそれを行うことができるかどうか、または複数の保存呼び出しでそれを行う必要があるかどうか疑問に思っていました。

みんなありがとう。

4

1 に答える 1

2

ShoeDesigns_ShoePiecesとの関係に関連するデータ以外にデータを追加するShoeDesignsShoePieces、ORMの概念に違反することになります。関係をモデル化するだけShoeDesigns_ShoePiecesでなく、エンティティと関係のハイブリッドになります。

との間の関係に付随する属性がある場合は、これを行う必要がありShoeDesignsますShoePieces。これは、「関係」が実際にはエンティティであることを意味します。

それを呼びましょうShoeAssemblyPlan。次に、次のようになります。

  • ShoeDesignsとの間の多対多の関係ShoeAssemblyPlan
  • ShoeAssemblyPlanとの間の多対多の関係ShoePieces

(関係は多対1の場合もあります)。

デザインとピースの間の古い関係は、必要な属性を添付できるアセンブリプランによって実現されます。

たとえば、「接着剤スタックデザインから4ピースセット」の組み立て計画と「ステッチフォーマルデザインから4ピースセット」の組み立て計画を作成できます。また、プランごとに異なるコストとリードタイムが関連付けられている場合があります。

于 2012-11-14T23:33:38.267 に答える