Magento - 单个模型可能有多个表吗?

dbc*_*bcn 5 database config magento entity-attribute-value

尝试为自定义模块设置配置文件 - 我是否需要为每个'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>
Run Code Online (Sandbox Code Playgroud)

然后通过模型在表之间动态切换?

和相关的:任何人都知道这些人的可能性和他们的本性是什么?我见过'实体','协会'和'项目' - thx

dbc*_*bcn 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>
Run Code Online (Sandbox Code Playgroud)

所以是的 - 声明的每个模型都有一个表实体(一个模型,一个资源),但我假设每个附加模型/资源模型组合都需要在它自己的 modulename_mysql4 节点中拥有单独的 Model_Mysql 类,ala:


<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>
Run Code Online (Sandbox Code Playgroud)

但事实并非如此。很想听听逐场比赛的解释。感谢您的帮助!