本文已移到:http://www.iifire.com
Magento 和 zend framework 的DB层都完全实现了抽象(封装成类了),这样方便我们在使用数据库资源时直接调用相关的Resource类而不用理会DB底层的具体实现方法,会用就可。但是我们有时候希望能直接使用SQL语句来从表中查询和更新数据,该怎么办呢?当然Magento中提供了相关的方法,如下:
$conn = Mage::getSingleton('core/resource')->getConnection('core_read');
上面的的语句返回 Varien_Db_Adapter_Pdo_Mysql对象的一个实例( Zend_Db_Adapter_Abstract 的子类), 该类提供了直接调用SQL语句的方法.例:
// Prints a list of all website names
$results = $conn->fetchAll("SELECT * FROM core_website;");
foreach($results as $row) {
echo $row['name'] . "\n";
}
注意上面的getConnection()方法中的参数 "core_read",表明了Magento将要使用的资源。与之相对应,当我们修改数据库的时候使用参数"core_write".一般情况下getConnection方法的参数应设成"core_read" 或 "core_write"(应该不指定也是可以的,但是如果Magento有多个数据库就必须指定了)。
作为新的entension module,在config.xml对"core_read" "core_write" 进行定义是个好的习惯。定义如下: c
<config>
<global>
<resources>
<extension_setup>
<connection>
<use>core_setup</use>
</connection>
</extension_setup>
<extension_read>
<connection>
<use>core_read</use>
</connection>
</extension_read>
<extension_write>
<connection>
<use>core_write</use>
</connection>
</extension_write>
</resources>
</global>
</config>
对应上面新增的module的名字.使用下面相对应的语句在read或write Database:
$conn = Mage::getSingleton('core/resource')->getConnection('extension_read');
$conn = Mage::getSingleton('core/resource')->getConnection('extension_write');
一般情况是绝大多数的module都定义成"core_read" "core_write"方便且节省资源。当然特殊情况除外:
- 给每个module不同的读写权限
- 需要用多个Database
分享到:
相关推荐
首先,`magento导出数据sql`是指使用SQL语句来提取Magento数据库中的数据。这通常涉及到备份、分析或迁移数据到其他系统。在Magento中,数据主要存储在MySQL数据库中,因此我们可以通过以下几种方式来导出数据: 1....
- **批量删除操作**:如果需要批量删除多个订单,可以修改SQL语句中的条件表达式,使用IN关键字或者循环执行上述语句。 - **数据库性能**:频繁执行大量数据的删除操作可能会对数据库性能造成一定影响。建议在非高峰...
这可以通过在UPDATE语句中添加WHERE子句实现。例如,如果只想修改特定类别的产品,可以添加`AND eav.entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_category')`...
本篇文章将详细探讨如何使用MySQL语句在Magento环境中实现这个功能。 首先,我们要理解Magento的产品数据存储结构。Magento将产品信息分散在多个数据库表中,主要包括`catalog_product_entity`作为主产品表,以及一...
3. **导入数据**:使用数据库管理工具(如 phpMyAdmin、MySQL Workbench 或命令行客户端)连接到你的 MySQL 服务器,然后运行 SQL 文件中的语句。这会创建 Magento 需要的所有表,包括 `catalog_product_entity`...
**解释**:在Magento中,对产品集合进行过滤时,可以使用标准的SQL查询语句结构,通过OR条件组合不同的筛选标准,从而实现复杂的数据筛选需求。 #### 题目四:管理员路由的ACL保护 **题目描述**:以下哪些条件用于...
2. **SQL查询查看**:它允许开发者查看和分析执行的每个数据库查询,包括查询语句、执行时间以及影响行数,帮助定位慢查询并优化数据库性能。 3. **模板路径提示**:在前端页面上,点击任何元素,开发者都能看到...
启用模型意味着让Magento知道这个模型的存在,并且可以在系统中使用它。这通常是在配置文件中完成的。 **4.5 启用资源模型** 资源模型负责处理数据库操作,它通常是模型的一部分。启用资源模型意味着指定哪个类...
当涉及到Magento站点的迁移时,一个常见的方法是通过使用PHPMyAdmin来导入数据库,这种方法不仅高效,而且能够确保数据的完整性和一致性。下面,我们将深入探讨Magento通过PHPMyAdmin方式做站点迁移的具体步骤、注意...
### Magento新建数据表后的增、删、改操作详解 在Magento平台中,对数据库...通过对模型的合理利用、避免重复加载、使用预处理语句、参数化查询等方式,可以有效提高代码的安全性和性能。希望这些内容能对你有所帮助。
以下是用于批量删除Magento产品的一些关键SQL语句: 1. `TRUNCATE TABLE `catalog_product_bundle_option`;`: 这条命令清空了与捆绑产品选项相关的表,用于存储捆绑产品配置。 2. `TRUNCATE TABLE `catalog_...
这通常通过安装脚本(如`sql`文件夹中的SQL语句)完成,这些脚本会在模块安装时执行,更新Magento的地址表结构。 3. **模型和资源模型**:模块需要包含模型类,用于处理数据库操作。资源模型是Magento中与数据库...
- **数据库优化**:理解索引和查询优化对Magento性能的影响。 - **页面速度优化**:减少HTTP请求、压缩资源、合并CSS和JS文件等技巧。 - **部署和负载均衡**:在生产环境中,可能需要设置多个服务器进行负载均衡,...
5. **模板引擎**:Magento 2 使用PHTML文件作为视图层,结合了PHP和HTML,提供了强大的模板引擎,支持变量、条件语句和循环结构。 6. **RESTful API**:Magento 2 提供了RESTful API,允许第三方应用与平台进行数据...
开发者需要掌握如何在模板中使用变量、条件语句和循环,以及如何布局和样式化页面。 6. **主题与皮肤** Magento 允许通过主题和皮肤来改变网站的外观。理解如何创建和编辑 layout XML 文件,以及 CSS 和 ...
**MySQL5.1_DOC_CN.chm**涵盖了MySQL 5.1版本的详细文档,包括安装与配置、SQL语句、存储引擎、触发器、视图、用户权限管理等内容。对于那些使用或升级到5.1版本的用户来说,这是一个非常有价值的参考资料。 **...
5. **查询工具**:phpMyAdmin 提供了SQL查询编辑器,允许用户编写复杂的SQL语句执行查询、更新、插入和删除操作。它还支持查询结果的可视化展示,如图表和表格。 6. **权限管理**:管理员可以通过phpMyAdmin管理...
6. **MySQL数据库操作**:连接MySQL数据库,执行SQL查询,处理结果集,以及事务处理等。 7. **PHP与HTML结合**:如何在HTML中嵌入PHP代码,实现动态网页。 8. **表单处理**:学习如何接收和处理用户提交的表单数据...
如PHP的CLI(命令行接口)使用、Web服务(如SOAP和RESTful API)的开发、会话管理、cookie的使用、安全实践(如防止SQL注入和XSS攻击)以及PHP与其他技术的整合,如WordPress、Magento等流行的PHP框架或CMS系统。...