欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal views filter 视图 过滤器 都是and 关系 变成or关系 有大用

shiping1 的头像

前段时间有个学员问我,Views是不是支持OR操作,就是多个过滤器(filter)之间采用OR的关系,而不是默认的AND(并)的关系.

今天无意中招到了这样的一个模块,是专门实现Views的OR操作的,那就是Views OR模块,下载地址 http://drupal.org/project/views_or

可以看 view_or  的 readme.txt

模块的功能:

提供过滤器\参数的OR操作.提供字段之间的coalesce函数功能.

OR操作我们知道里面的含义.这里介绍一下coalesce功能:

数据库应用软件很多时候将多重的、相关的实体信息保存在同一个表格中。例如,购买的零件和本地生产的零件都是零件,经理和工人都是员工,尽管多重的实体类型在数据存储上略有不同,但是它们有太多的相同之处,因此通常使用一个表格而不是两个。

处理这样的表格通常意味着对每一行进行条件测试来检查哪个实体类型正在被处理,然后返回每种类型的不同结果集。CASE语句可以用来完成这一工作。

COALESCE函数在很多情况下就成为替代CASE语句的一条捷径.

 

views or模块提供了3种过滤器,分别为: Begin alternatives(起始选择) ,Next alternative (下一个选择),End alternatives (结束选择).

示例,下面的过滤器

  • Views Or: Begin alternatives =
  • Taxonomy: Term ID = Carrot
  • Views Or: Next alternative =
  • Taxonomy: Term ID = Elephant
  • Views Or: End alternatives =

等价于

Taxonomy: Term ID = Carrot) OR (Taxonomy: Term ID = Elephant)

参数和过滤器类似.

来自 http://zhupou.cn/node/1583

普通分类: