`
yanggaojiao
  • 浏览: 82039 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Magento SQL绑定查询条件

阅读更多

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

0
0
分享到:
评论

相关推荐

    magento SQL常用命令

    根据提供的文件信息,我们可以归纳出一系列与Magento相关的SQL命令及应用场景。Magento是一款广泛使用的电子商务平台,对于维护其数据库的操作非常重要。下面将详细解释文件中提到的各个知识点。 ### Magento SQL ...

    magento删除订单sql

    - 在上方的SQL查询框中粘贴上述SQL语句。 - 修改`@orderId`变量中的值为你想要删除的订单ID。 - 点击“执行”按钮运行这些语句。 4. **检查结果**:运行完成后,在下方的结果区域查看是否成功删除了指定订单及其...

    magento导出数据sql

    例如,通过Magento的Model API或直接执行SQL查询,你可以编写脚本来导出特定的数据。这种方式需要对Magento的API和数据库结构有深入了解。 4. **使用Magento的shell命令**:Magento提供了一系列的shell脚本,位于`...

    我终于实现了 把 firephp 集成进 magento了 终于能监测 sql了

    标题提到的"我终于实现了把FirePHP集成进Magento了,终于能监测SQL了",这是一个关于将FirePHP日志框架与Magento电子商务平台整合的成就,使得开发者能够更方便地追踪和分析系统中的SQL查询。下面将详细阐述这一集成...

    查询订单magento

    本教程将详细讲解如何在Magento的前端查询订单以及相关知识点。 首先,我们要理解"Magento前台查询订单"的概念。在Magento系统中,顾客账户部分允许已注册的用户查看他们的订单状态和详情。这一功能增强了用户体验...

    magento产品名称及描述批量修改sql

    以上就是使用SQL批量修改Magento产品名称和描述的方法。记住,尽管这种方法效率高,但必须谨慎操作,以免误改数据。在进行任何数据库级别的操作时,确保你对Magento的数据库结构有深入理解,并遵循最佳实践。

    magento商城数据库

    开发者经常需要查询数据库以调试问题,或者通过编写 SQL 脚本来自动化数据处理任务。此外,当升级 Magento 版本时,必须谨慎处理数据库迁移,以确保兼容性和数据完整性。 总之,"magento 商城数据库" SQL 文件是...

    magento快速复制网站_magento_magento快速复制站_

    mysqldump -u [username] -p[password] magento_db &gt; backup.sql ``` 这里的`[username]`和`[password]`是数据库的用户名和密码,`magento_db`是Magento的数据库名。备份完成后,将`backup.sql`文件传输到新服务器...

    Magento深入理解Magento

    接下来,可以为模块添加具体的逻辑,比如响应特定的查询字符串参数。例如,检查URL中的`showConfig`参数是否存在,如果存在,则执行相应的操作。 #### 四、深入理解配置文件 - **`config.xml`**:此文件主要用于...

    magento 目录搜索插件

    默认情况下,Magento使用SQL查询进行全文搜索,这可能不总是提供最相关的搜索结果。通过安装这个插件,商家可以为客户提供一个更高级的搜索体验,允许他们输入多个关键词(用空格分隔),这样系统会返回包含所有这些...

    magento数据结构分析

    5. **CATALOGINDEX**和**CATALOGQUERY**:这两个表分别用于目录索引和查询,提高了产品搜索和浏览的效率。 6. **PRODUCTOPTION**, **PRODUCTBUNDLE**, **PRODUCTSUPERATTRIBUTE**:这些表用于管理产品的可选属性,...

    magento-query-grid:在 Magento Admin 中将任何 SQL 查询结果显示为网格和图表

    在 Magento Admin 中将任何 SQL 查询结果显示为网格和图表 在 Magento 1.9.x 上安装 使用安装: $ cd /path/to/magento $ modgit init $ modgit clone querygrid ...

    magik shoes magento 模板, magento 1.7 模板

    3. **过滤和排序**:用户可以按照品牌、价格、颜色、尺码等条件过滤和排序商品,快速找到他们感兴趣的产品。 4. **快速查看**:用户可以无需进入产品详情页面就能预览鞋子的基本信息,如图片、价格和简短描述。 5....

    magento二次开发大全

    Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。在进行Magento的二次开发时,你需要理解并掌握以下几个核心概念和技术: 1. **MVC架构**:Magento基于Model-View-Controller(MVC)设计模式...

    Magento-SMTP-Email

    Magento是开源的电子商务平台,广泛用于在线商店的建设。SMTP(Simple Mail Transfer Protocol)是用于发送电子邮件的标准协议。在Magento中,SMTP插件扮演着关键角色,它允许商家通过更安全、可靠的SMTP服务器发送...

    magento-java-master.zip_magento

    这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...

    Magento php开发指南

    Magento是一款流行的开源电子商务平台,其功能强大且模块化,它支持在线零售业务的创建和管理。Magento使用PHP语言编写,它为开发者提供了丰富的扩展性和灵活性,使得定制网站功能和外观成为可能。本指南是为后台...

    magento入门学习资料

    Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。作为一款基于PHP开发的系统,它为商家提供了丰富的功能,包括商品管理、订单处理、客户管理、营销工具等。以下将详细介绍`magento入门学习资料...

    Magento

    3. **获取Magento代码**:你可以从Magento官网下载最新版本的源码,或者通过Composer拉取Magento 2的代码。 4. **解压并上传**:将下载的Magento源码解压到Web服务器的根目录,例如 `/var/www/html`。 5. **运行...

    magento2 developers cookbook

    根据给定文件信息,以下为《Magento 2 Developer's Cookbook》一书中的知识点介绍。 首先,《Magento 2 Developer's Cookbook》是一本针对Magento 2开发的指导手册,它向开发者提供了实用的食谱来解决在Magento 2...

Global site tag (gtag.js) - Google Analytics