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
分享到:
相关推荐
模型中可以定义各种数据操作方法,例如查询、更新等。 **4.9 Magento中的CRUD操作** CRUD是指Create(创建)、Read(读取)、Update(更新)、Delete(删除),这是模型中最常见的操作。 **4.10 模型集合** 模型...
Magento片段使用命名绑定在Magento中直接安全SQL查询,以提高安全性: 步骤1:初始化资源以与数据库交互: $read = Mage::getSingleton( 'core/resource' )->getConnection( 'core_read' ); // To read from the ...
10. **部署与运维**:源代码压缩包可能还附带了关于如何部署到生产环境的文档,包括服务器配置、域名绑定、SSL证书设置、性能优化等方面。 通过深入理解和研究这些内容,开发者可以全面掌握网上商城系统的运作机制...
1. **站点管理**:phpStudy提供了一个直观的管理界面,可以创建、删除、修改站点配置,包括域名绑定、根目录设置等。 2. **数据库管理**:通过phpStudy,可以创建、删除数据库,管理数据库用户,以及执行SQL语句。 ...
5. **安全**:PHP提供了一些安全功能,如防止SQL注入(使用预处理语句或参数绑定)、XSS防护(htmlspecialchars函数)等。 通过深入学习以上知识点,你将具备PHP编程的基础技能,能够开发出功能完善的Web应用程序。...