如何过滤集合
筛选比较参数
Magento 还提供了一种灵活的使用比较运算符进行过滤的方法。以下是有效运算符及其语法的列表:
所有比较参数都可以传递给 addFieldToFielter() 或 addAttributeToFilter() 方法的第二个参数。
$collection_of_products->addAttributeToFilter('visible',array("eq"=>1));
| 对照 | 参数数组 | 生成的 SQL 代码段 |
|---|---|---|
| 等于 | 阵列( 当量=> $变种) | WHERE(`my_field` = $ var) |
| 不等于 | 阵列( NEQ=> $变种) |
WHERE(`my_field` != $ var) |
| 喜欢 | 阵列( 喜欢=> $变种) | WHERE(`my_field` LIKE $ var) |
| 不喜欢 | 阵列( nlike=> $变种) |
WHERE(`my_field`不喜欢$ var) |
| 是 | 阵列( 是=> $变种) | WHERE(`my_field` IS $ var) |
| 在 | 阵列( 在=> $变种) | WHERE(`my_field` IN($ var)) |
| 不在 | 阵列( “nin 的”=> $变种) | WHERE(`my_field` NOT IN($ var)) |
| 空值 | 阵列( 空=>真) | WHERE(`my_field`为空) |
| 不是空的 | 阵列( NOTNULL=>真) |
WHERE(`my_field`不是 NULL) |
| 比…更棒 | 阵列( GT=> $变种) |
WHERE(`my_field`> $ var) |
| 少于 | 阵列( LT=> $变种) |
WHERE(`my_field` <$ var) |
| 大于或等于 | 阵列( gteq=> $变种) |
WHERE(`my_field`> = $ var) |
| 小于或等于 | 阵列( lteq=> $变种) |
WHERE(`my_field` <= $ var) |
| 在 Set 中查找 | 阵列( finset=>数组($ VAR)) |
WHERE(find_in_set($ var,`my_field`) |
| 从和到 | array(from=> $ var1,to=> $ var2) |
WHERE(`my_field`> = $ var1 AND`my_field` <= $ var2) |