我正在为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资源模型的更多相关文章

  1. magento后台无法登录解决办法的两种方法

    可能很多朋友有同样的经历,magento在服务器中配置域名是可以正常的访问了,但是在本地配置后却无法登录后台,账号密码登录的时候发现出现空白,无法跳转到后台,本文章向大家介绍两种解决本地magento后台无法登录的方法,需要的朋友可以参考下

  2. PHP magento后台无法登录问题解决方法

    这篇文章主要介绍了PHP magento后台无法登录问题解决方法的相关资料,这里对magento无法登录,提供了两种解决方案,需要的朋友可以参考下

  3. php – 在Magento中获取所有类别的数组

    我希望能够通过API调用以获取所有类别的数组,其中包含URL键等详细信息.最终的目标将是这样的阵列所以我想说出类似的东西我知道这完全是弥补而不是真正的API,但这基本上是目标.我确实需要输出.关于代码实现需求的想法?

  4. php – 为产品设置Magento下拉列表(选择)值

    我创建了一个非常大的导入脚本,它将产品从CSV导入到magento.我还有一个要解决的问题.我使用下拉列表来表示属性.不幸的是,我无法为单个产品设置这些属性的值.我做了什么:>创建属性集[PHP],>为此set[PHP]添加了带有值的dropdown属性,>在适当的属性集中添加新产品,并尝试为我创建的属性设置值.我尝试了几种方法,这里的one对我来说很好看:不幸的是它不起作用.有任何想法吗?我正在使用Magento1.7.0.2你可以这样做:如果您有任何疑问,请告诉我.热忱.

  5. php – Magento Collection过滤功能

    是否与eav_attribute值有关?

  6. php – 扩展Magento购物车

    我需要扩展Magento购物车,为商店定位器添加一个额外的步骤.我知道我需要覆盖核心OnePage控制器(Mage_Checkout_OnepageController)和块(Mage_Checkout_Block_Onepage),但是需要做些什么才能跟踪额外信息(例如用户从我的自定义步骤中选择的选项).此处需要执行许多步骤才能获得整个解决方案.首先,创建一个新模块.如果您愿意,请使用Modul

  7. php – 如何触发magento收到的付款事件?

    并执行您喜欢的修改.在app/code/core/Mage/…/Model/中查看Magento模型类了解如何浏览这些对象.示例:注意我没有测试过我在这里编写的任何代码,所以要小心处理!希望它有所帮助,Magento有一个艰难的学习曲线……

  8. zend-framework – Magento/Zend不允许使用符号链接

    任何人都知道为什么Magento不允许在app/design文件夹之外的模板.phtml文件的符号链接?),System>中有一个选项.配置>开发人员>模板设置>允许您启用的符号链接.不再需要肮脏的黑客/变通办法.总结以上是DEVMAX为你收集整理的zend-framework–Magento/Zend不允许使用符号链接全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  9. php – 自定义模块magento中管理员用户的访问被拒绝

    我已经为管理员用户创建了一个magento自定义模块,我已准备好进行基本设置,我已经创建了一个用户角色并为该模块提供了资源访问权限,但是当我使用该用户凭据登录时,我获得了拒绝访问权限错误,但当我以管理员身份登录时,我可以访问该模块.我的config.xml文件我的adminhtml.xml我在config.xml中给了acl权限,我不确定我在这里做错了什么.管理员用户登录错误屏幕截图为管理员登录,

  10. php – 是否可以将类别页面设为magento的主页?

    您可以将其添加到任何CMS页面:

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部