2

私たちは、当社が構築する複数のショッピング カートの基盤として使用するコア ショッピング カートを構築しています。これらは高度に専門化されているため、異なる製品タイプには独自のデータ テーブルが必要です。

たとえば、ラベルを販売するカートの場合...

製品-id | type_id | created

ラベル-id | product_id | x | y | z

私たちはオブジェクトをどのように構築するかに苦労しています。プログラムでLabelクラスのみと対話し、データを 2 つのテーブル間でいわば「分割」したいと考えています。私たちが考えたアイデアの 1 つは、クエリに使用するビューを作成し、オブジェクトのsave()メソッドを上書きして、各テーブルのセッター/保存機能と実際に対話することでした。

これを達成した人、または少なくとも同様の課題に直面した人はいますか?

更新:もちろん、これは疑問を投げかけます...両方のテーブルが同じ列名を持つ可能性があるシナリオはありますか? もしそうなら、それを処理する方法。

4

2 に答える 2

0

Product は関連テーブルであるため、リレーション (たとえば ) を介して操作できます$labelModel->product。したがって、yii が提案するように、各テーブルにモデルがあります。また、機能をやその他のメソッドLabelに配置した場合にのみ、モデルと対話できます。beforeSave()afterSave()

于 2012-12-04T05:16:35.693 に答える
0

特殊な列には名前と値のペアを使用できます。列名と一致する「名前」部分を使用すると、一般化されたセッター/ゲッターを使用できます。

于 2012-12-03T21:54:56.753 に答える