Magento从数据库中取数据时大多用的Collection,Collection的基础知识估计大家都了解.
1.基于collection可以连接其他表,方法一般为:
$collection->getSelect()->join()
2.给collection添加筛选条件
(1).addAttributeToFilter();
(2).addFieldToFilter();
这里重点讲第二个,各种筛选简单如下:
$collection->addFieldToFilter('fieldName',array('eq'=>'n2610'));
$collection->addFieldToFilter('fieldName',array('neq'=>'n2610'));
$collection->addFieldToFilter('fieldName',array('in'=>array('n2610','n2611')));
$collection->addFieldToFilter('fieldName',array('null'=>'true')); //为空
$collection->addFieldToFilter('fieldName',array('notnull'=>'true')); //不为空
$collection->addFieldToFilter('fieldName',array('from'=>'2012-04-17','to'=>'2012-04-29')); //取区间
..............
array("eq"=>'n2610')
WHERE (e.sku = 'n2610')
array("neq"=>'n2610')
WHERE (e.sku != 'n2610')
array("like"=>'n2610')
WHERE (e.sku like 'n2610')
array("nlike"=>'n2610')
WHERE (e.sku not like 'n2610')
array("is"=>'n2610')
WHERE (e.sku is 'n2610')
array("in"=>array('n2610'))
WHERE (e.sku in ('n2610'))
array("nin"=>array('n2610'))
WHERE (e.sku not in ('n2610'))
array("notnull"=>'n2610')
WHERE (e.sku is NOT NULL)
array("null"=>'n2610')
WHERE (e.sku is NULL)
array("gt"=>'n2610')
WHERE (e.sku > 'n2610')
array("lt"=>'n2610')
WHERE (e.sku < 'n2610')
array("gteq"=>'n2610')
WHERE (e.sku >= 'n2610')
array("moreq"=>'n2610')
WHERE (e.sku >= 'n2610')
array("lteq"=>'n2610')
WHERE (e.sku <= 'n2610')
array("finset"=>array('n2610'))
WHERE (find_in_set('n2610',e.sku))
array('from'=>'10','to'=>'20')
WHERE e.sku >= '10' and e.sku <= '20'
关于上面使用的方式,内部实现方法如下
array(
'eq' => "{{fieldName}} = ?",
'neq' => "{{fieldName}} != ?",
'like' => "{{fieldName}} LIKE ?",
'nlike' => "{{fieldName}} NOT LIKE ?",
'in' => "{{fieldName}} IN(?)",
'nin' => "{{fieldName}} NOT IN(?)",
'is' => "{{fieldName}} IS ?",
'notnull' => "{{fieldName}} IS NOT NULL",
'null' => "{{fieldName}} IS NULL",
'gt' => "{{fieldName}} > ?",
'lt' => "{{fieldName}} < ?",
'gteq' => "{{fieldName}} >= ?",
'lteq' => "{{fieldName}} <= ?",
'finset' => "FIND_IN_SET(?, {{fieldName}})",
'regexp' => "{{fieldName}} REGEXP ?",
'from' => "{{fieldName}} >= ?",
'to' => "{{fieldName}} <= ?",
'seq' => null,
'sneq' => null
);
更多Magento技术文章或Magento扩展请参看http://www.iifire.com
分享到:
相关推荐
根据提供的文件信息,我们可以归纳出一系列与Magento相关的SQL命令及应用场景。Magento是一款广泛使用的电子商务平台,对于维护其数据库的操作非常重要。下面将详细解释文件中提到的各个知识点。 ### Magento SQL ...
- 在上方的SQL查询框中粘贴上述SQL语句。 - 修改`@orderId`变量中的值为你想要删除的订单ID。 - 点击“执行”按钮运行这些语句。 4. **检查结果**:运行完成后,在下方的结果区域查看是否成功删除了指定订单及其...
例如,通过Magento的Model API或直接执行SQL查询,你可以编写脚本来导出特定的数据。这种方式需要对Magento的API和数据库结构有深入了解。 4. **使用Magento的shell命令**:Magento提供了一系列的shell脚本,位于`...
标题提到的"我终于实现了把FirePHP集成进Magento了,终于能监测SQL了",这是一个关于将FirePHP日志框架与Magento电子商务平台整合的成就,使得开发者能够更方便地追踪和分析系统中的SQL查询。下面将详细阐述这一集成...
本教程将详细讲解如何在Magento的前端查询订单以及相关知识点。 首先,我们要理解"Magento前台查询订单"的概念。在Magento系统中,顾客账户部分允许已注册的用户查看他们的订单状态和详情。这一功能增强了用户体验...
以上就是使用SQL批量修改Magento产品名称和描述的方法。记住,尽管这种方法效率高,但必须谨慎操作,以免误改数据。在进行任何数据库级别的操作时,确保你对Magento的数据库结构有深入理解,并遵循最佳实践。
开发者经常需要查询数据库以调试问题,或者通过编写 SQL 脚本来自动化数据处理任务。此外,当升级 Magento 版本时,必须谨慎处理数据库迁移,以确保兼容性和数据完整性。 总之,"magento 商城数据库" SQL 文件是...
mysqldump -u [username] -p[password] magento_db > backup.sql ``` 这里的`[username]`和`[password]`是数据库的用户名和密码,`magento_db`是Magento的数据库名。备份完成后,将`backup.sql`文件传输到新服务器...
接下来,可以为模块添加具体的逻辑,比如响应特定的查询字符串参数。例如,检查URL中的`showConfig`参数是否存在,如果存在,则执行相应的操作。 #### 四、深入理解配置文件 - **`config.xml`**:此文件主要用于...
默认情况下,Magento使用SQL查询进行全文搜索,这可能不总是提供最相关的搜索结果。通过安装这个插件,商家可以为客户提供一个更高级的搜索体验,允许他们输入多个关键词(用空格分隔),这样系统会返回包含所有这些...
5. **CATALOGINDEX**和**CATALOGQUERY**:这两个表分别用于目录索引和查询,提高了产品搜索和浏览的效率。 6. **PRODUCTOPTION**, **PRODUCTBUNDLE**, **PRODUCTSUPERATTRIBUTE**:这些表用于管理产品的可选属性,...
在 Magento Admin 中将任何 SQL 查询结果显示为网格和图表 在 Magento 1.9.x 上安装 使用安装: $ cd /path/to/magento $ modgit init $ modgit clone querygrid ...
3. **过滤和排序**:用户可以按照品牌、价格、颜色、尺码等条件过滤和排序商品,快速找到他们感兴趣的产品。 4. **快速查看**:用户可以无需进入产品详情页面就能预览鞋子的基本信息,如图片、价格和简短描述。 5....
Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。在进行Magento的二次开发时,你需要理解并掌握以下几个核心概念和技术: 1. **MVC架构**:Magento基于Model-View-Controller(MVC)设计模式...
Magento是开源的电子商务平台,广泛用于在线商店的建设。SMTP(Simple Mail Transfer Protocol)是用于发送电子邮件的标准协议。在Magento中,SMTP插件扮演着关键角色,它允许商家通过更安全、可靠的SMTP服务器发送...
这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...
Magento是一款流行的开源电子商务平台,其功能强大且模块化,它支持在线零售业务的创建和管理。Magento使用PHP语言编写,它为开发者提供了丰富的扩展性和灵活性,使得定制网站功能和外观成为可能。本指南是为后台...
Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。作为一款基于PHP开发的系统,它为商家提供了丰富的功能,包括商品管理、订单处理、客户管理、营销工具等。以下将详细介绍`magento入门学习资料...
3. **获取Magento代码**:你可以从Magento官网下载最新版本的源码,或者通过Composer拉取Magento 2的代码。 4. **解压并上传**:将下载的Magento源码解压到Web服务器的根目录,例如 `/var/www/html`。 5. **运行...
根据给定文件信息,以下为《Magento 2 Developer's Cookbook》一书中的知识点介绍。 首先,《Magento 2 Developer's Cookbook》是一本针对Magento 2开发的指导手册,它向开发者提供了实用的食谱来解决在Magento 2...