`
yanggaojiao
  • 浏览: 82927 次
  • 性别: 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入门文档

    模型中可以定义各种数据操作方法,例如查询、更新等。 **4.9 Magento中的CRUD操作** CRUD是指Create(创建)、Read(读取)、Update(更新)、Delete(删除),这是模型中最常见的操作。 **4.10 模型集合** 模型...

    magento-snippets

    Magento片段使用命名绑定在Magento中直接安全SQL查询,以提高安全性: 步骤1:初始化资源以与数据库交互: $read = Mage::getSingleton( 'core/resource' )-&gt;getConnection( 'core_read' ); // To read from the ...

    网上商城源代码.zip

    10. **部署与运维**:源代码压缩包可能还附带了关于如何部署到生产环境的文档,包括服务器配置、域名绑定、SSL证书设置、性能优化等方面。 通过深入理解和研究这些内容,开发者可以全面掌握网上商城系统的运作机制...

    phpStudy_64.zip

    1. **站点管理**:phpStudy提供了一个直观的管理界面,可以创建、删除、修改站点配置,包括域名绑定、根目录设置等。 2. **数据库管理**:通过phpStudy,可以创建、删除数据库,管理数据库用户,以及执行SQL语句。 ...

    test

    5. **安全**:PHP提供了一些安全功能,如防止SQL注入(使用预处理语句或参数绑定)、XSS防护(htmlspecialchars函数)等。 通过深入学习以上知识点,你将具备PHP编程的基础技能,能够开发出功能完善的Web应用程序。...

Global site tag (gtag.js) - Google Analytics