2010-12-03 8 views
5

カスタムモジュール用の設定ファイルを設定しようとしました - それぞれの 'resourceModel'に固有のモデルを用意する必要がありますか、モデルごとに複数のテーブルエンティティを持つことは可能ですか?マゼンタ - 単一のモデルに複数のテーブルを使用することは可能ですか?


    <config>... 
<model> 
    <namespace> 
    <class>Namespace_Module_Model</class> 
    <resourceModel>module_mysq4</resourceModel> 
    </namespace> 
    <module_mysql4> 
    <class>Namespace_Module_Model_Mysql4</class> 
    <entities> 
     <table_1> 
      <table>table_1</table> 
     </table_1> 
     <table_2> 
      <table>table_2</table> 
     </table_2> 
     <table_3> 
      <table>table_3</table> 
     </table_3> 
     ... 
    </entities> 
    </module_mysql4> 
..</config>

、その後、動的モデルによるテーブル間の切り替え:

は、それが動作するように、このような何かを得ることは可能ですか?

と関連性:誰でも知っている可能性のある子どもとその仲間は分かりますか?私は 'エンティティ'、 '団体'、 'アイテム'を見たことがあります - thx

答えて

1

返信用&質問が不明な場合はお詫び申し上げます。デバッグの数時間後、私はそれは次のような構造での作業があります。


<models> 
    <modulename> 
    <class>Namespace_Modulename_Model</class> 
    <resourceModel>modulename_mysql4</resourceModel> 
    </modulename> 
    <modulename_type1> 
    <class>Namespace_Modulename_Model_Type1</class> 
    <resourceModel>modulename_mysql4</resourceModel> 
    </modulename_type1> 
    <modulename_type2> 
    <class>Namespace_Modulename_Model_Type2</class> 
    <resourceModel>modulename_mysql4</resourceModel> 
    </modulename_type2> 
    <modulename_mysql4> 
    <class>Namespace_Modulename_Model_Mysql4</class> 
    <entities> 
    <modulename> 
    <table>modulename</table> 
    </modulename> 
    <modulename_type1> 
    <table>modulename_type1</table> 
    </modulename_type1> 
    <modulename__type2> 
    <table>modulename_type2</table> 
    </modulename_type2> 
    </entities> 
    </modulename_mysql4> 

</models> 

そうです - 宣言された各モデル(1つのモデル、1つのリソース)のための単一のテーブルのエンティティがありますが、私は、それぞれ想定しているだろう追加モデル/ resourceModel組み合わせは、ALA、それ自身のmodulename_mysql4ノードにそれ自身の個別のModel_Mysqlクラスが必要になります。


<models> 
<modulename> 
    <class>Namespace_Modulename_Model</class> 
    <resourceModel>modulename_mysql4</resourceModel> 
</modulename> 
<modulename_type1> 
    <class>Namespace_Modulename_Model_Type1</class> 
    <resourceModel>modulename_mysql4_type1</resourceModel> 
</modulename_type1> 
    <modulename_type2> 
    <class>Namespace_Modulename_Model_Type2</class> 
    <resourceModel>modulename_mysql4_type2</resourceModel> 
</modulename_type2> 
<modulename_mysql4> 
    <class>Namespace_Modulename_Model_Mysql4</class> 
    <entities> 
    <modulename> 
    <table>modulename</table> 
    </modulename> 
    </entities> 
</modulename_mysql4> 
<modulename_mysql4_type1> 
    <class>Namespace_Modulename_Model_Mysql4_Type1</class> 
    <entities> 
    <modulename_type1> 
    <table>modulename_type1</table> 
    </modulename_type1> 
    </entities> 
</modulename_mysql4_type1> 
<modulename_mysql4_type2> 
    <class>Namespace_Modulename_Model_Mysql_Type2</class> 
    <entities> 
    <modulename_type2> 
    <table>modulename_type2</table> 
    </modulename_type2> 
    </entities> 
</modulename_mysql4_type2> 
</models> 

をそれはそうではありません。遊びの説明で遊びを聞くのが大好きです。ヘルプのためのThx!

3

あなたがここで何を求めているのかは分かりません。 Magentoのは、つのテーブルリソースへの基本的なつのリソース、およびEAVスタイルのモデルのための特定の方法リソースに構築つのリソースに多くのテーブルがあります。

上記のシナリオはシステムでは直接サポートされていませんが、そのようなものを実装したい場合は、必要な方法で動作するリソースを実装することを妨げるものは何もありません。あなたは

に興味を持っている可能性の子供のためとして

、全体のマージされた設定のダンプを取得した後、すべてのノード(とその子供たち)を調べるために、XPathビューアを使用して、簡単な設定ビューアdescribed hereを作成

0

または:

<resources> 
     <modulename_setup> 
      <setup> 
       <module>modulename</module> 
      </setup> 
      <connection> 
       <use>core_setup</use> 
      </connection> 
     </modulename_setup> 
     <modulename_write> 
      <connection> 
       <use>core_write</use> 
      </connection> 
     </modulename_write> 

     <modulename_read> 
      <connection> 
       <use>core_read</use> 
      </connection> 
     </modulename_read> 
    </resources> 
+0

この[metaSOの質問](http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-aをチェック質問)と[Jon Skeet:Coding Blog](http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx)を参照してください。 – Yaroslav

関連する問題