php – 具有复合主键的表的Magento资源模型

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 具有复合主键的表的Magento资源模型脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为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列?我有能力做到一点,但是geez!

(另一个注意事项,我想我会提到的是,它看起来像zend框架提供了一种方法来使一个类在一个表上复合主键(see Example #20 on this page – 大约一),所以似乎Magento框架应该也提供它…我只是看不到如何.)

像大多数Active Record灵感的模型一样,Magento的Mage_Core_Model_Abstract不是构建在支持复合主键之上的.从这个基础继承的任何模型(意思是所有这些)都继承了这个假设.如果要使用复合主键,您将无法使用.您的选择是去Magento Model路由,并创建一个单一的主键(“false”,就像你所说的那样),然后在表中应用一个唯一的索引,或者使用基本的Zend DB表或OR import来实现你自己的Model层系统中的第三方模型解决方案,支持您所需的功能.

就Zend框架而言,Magento团队使用Zend的Table Gateway Pattern to implement an Active Record style Model layer框架. Zend Framework不是像Cake或Rails这样的应用程序堆栈,它是可以用于构建应用程序堆栈(或应用程序或许多其他事情)的类库集合.只是因为Zend Framework类支持的东西并不意味着使用Zend Framework的系统和应用程序可以免费获得.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 具有复合主键的表的Magento资源模型全部内容,希望文章能够帮你解决php – 具有复合主键的表的Magento资源模型所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。