【发布时间】:2010-06-09 18:48:59
【问题描述】:
我正在为 Magento 电子商务网站创建一个自定义模块,该模块将围绕一个具有复合/复合主键的新(即自定义)表,或者更确切地说,该表有两列构成主键钥匙。有人知道如何根据带有复合键的表创建模型/资源模型吗?
为了提供更多细节,我查阅了几个教程,还使用了出色的 moduleCreator 脚本。但似乎所有的教程都围绕着一个只有一列的 PK 表。像这样的:
class <Namespace>_<Module>_Model_Mysql4_<Module> extends Mage_Core_Model_Mysql4_Abstract {
public function _construct(){
$this->_init('<module_alias>/<table_alias>', '<table_primary_key_id>');
}
}
另外,我刚刚注意到,查看数据库模型时,几乎所有表都有一个主键。我知道这与 EAV 风格的数据库结构有很大关系,但是仍然可以使用带有复合 PK 的表吗?如果可能的话,我想坚持使用 Magento 框架/约定。是不是气馁了?我是否应该将自定义表的结构更改为具有一些虚拟 id 列?我确实有能力做到这一点,但是天哪!
(我想我会提到的另一个注意事项是,Zend 框架似乎提供了一种将类基于具有复合主键(see Example #20 on this page - 大约一半)的表的方法,所以看起来Magento 框架也应该提供它......我只是不明白如何。)
【问题讨论】:
标签: php zend-framework data-structures magento