magento -- 新建带数据库表的自定义模块

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

如果你想在Magento中创建一个自定义模块,并且需要存储和使用自定义数据,下面就是你需要的步骤。我将假定你已经知道关于Magento模块,它们是什么以及如何创建它们。此外,我也假定你已经知道在Magento模块的基本结构。

 

下面这段放到你的config.xml的适当位置

         <global> <ymodel> <class>YNamespace_YModule_Model</class> <resourceModel>quotes_mysql4</resourceModel> </ymodel> <quotes_mysql4> <class>YNamespace_Ymodule_Model_Mymodel</class> <entities> <mymodel> <table>ymodel_ytable</table> </mymodel> </entities> </quotes_mysql4> </global> 

 

然后新建模块

 

<?php class YNamespace_Ymodule_Model_Mymodel extends Mage_Core_Model_Abstract { public function _construct() { parent::_construct(); $this->_init('ymodel/mymodel'); } } 

 

正如你可以看到在这个类的构造中它初始化了在配置文件中定义的模块。由于模型使用资源(Resources),你现在需要创建一个资源模块

 

<?php class Ynamespace_Ymodel_Model_Mysql4_Ymodel extends Mage_Core_Model_Mysql4_Abstract { public function _construct() { $this->_init('ymodel/mymodel', 'id'); } } 

 

因此,使用这种资源,您现在可以访问表并添加/修改。但是你不能显式创建一个此类的对象做到这一点。

 

$model=Mage::getModel("ymodel/mymodel") ->setName("Subesh") ->setLastname("Pokhrel") ->save();

 

这样会在数据库新建一行数据,其中name 和lastname 是表的字段。

下面的代码可以用来编辑一行数据。

 

$model=Mage::getModel("ymodel/mymodel")->load($id) ->setName("Subesh") ->setLastname("Pokharel") ->save(); 

 

现在要查询数据库还需要一个过程,在此之前,我先描述下集合(collection)。想象一下集合是一个包含对象的数组,当你从数据库查询到结果,结果中的每一行就是不同的对象。下面是新建一个集合(collection)的代码

 

<?php class Ynamespace_Ymodel_Model_Mysql4_Mymodel_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract { public function _construct() { parent::_construct(); $this->_init('ymodel/mymodel'); } } 

 

查询这个表的所有行

 

$allCollection=Mage::getModel("ymodel/mymodel")->getCollection(); 

 

如果需要的话,你可以给上面的代码增加一些过滤条件

要拿到单独的行你可以对集合做循环

 

        foreach($allCollection as $objRow){ print_r($objRow); } 

 

源文:http://www.bageshsingh.com/bagesh-blog/2010/04/using-custom-table-for-custom-module-in-magento/

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
XML 开发框架 前端开发
J2EE之自定义框架知识(下篇 综合运用增删改查)
J2EE之自定义框架知识(下篇 综合运用增删改查)
40 0
|
15天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
7月前
|
Java
jpa实现增删改查,分页,自定义查询,jpql查询
jpa实现增删改查,分页,自定义查询,jpql查询
46 0
|
3月前
|
存储 关系型数据库 MySQL
认识MySQL数据库中用户自定义变量
认识MySQL数据库中用户自定义变量。
42 0
|
4月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
|
6月前
|
存储 API 数据库
SAP BTP 平台 ABAP 编程环境如何维护自定义 Unit Of Measure 数据库表 T006
SAP BTP 平台 ABAP 编程环境如何维护自定义 Unit Of Measure 数据库表 T006
59 0
|
9月前
|
存储 监控 算法
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
php开发实战分析(9):使用实现短地址的分享的解决方案(第三方短链接服务、数据库自增ID转换、自定义短地址生成算法、自增数字短码)
184 0
|
11月前
|
SQL druid Java
Spring Boot2.x-09 基于Spring Boot 2.1.2 + Mybatis使用自定义注解实现数据库切换
Spring Boot2.x-09 基于Spring Boot 2.1.2 + Mybatis使用自定义注解实现数据库切换
89 0
|
11月前
|
Java 数据库 Maven
Spring-基于Spring使用自定义注解及Aspect实现数据库切换
Spring-基于Spring使用自定义注解及Aspect实现数据库切换
105 0
|
SQL XML 存储
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)

热门文章

最新文章