ThinkPHP3.0完全开发手册                                           

 

6.12.11      UNION

union  用于数据库的union查询支持

用法

union($union,$all=false)

参数

union(必须):union操作,支持字符串、数组和对象

all(可选):是否采用UNION ALL 操作,默认为false

返回值

当前模型实例

备注

Union方法支持多次调用

使用示例:

$Model->field('name')->table('think_user_0')->union('SELECT name FROM think_user_1')->union('SELECT name FROM think_user_2')->select();

数组用法:

$Model->field('name')->table('think_user_0')->union(array('field'=>'name','table'=>'think_user_1'))->union(array('field'=>'name','table'=>'think_user_2'))->select();

或者

$Model->field('name')->table('think_user_0')->union(array('SELECT name FROM think_user_1','SELECT name FROM think_user_2'))->select();

支持UNION ALL 操作,例如:

$Model->field('name')->table('think_user_0')->union('SELECT name FROM think_user_1',true)->union('SELECT name FROM think_user_2',true)->select();

或者

$Model->field('name')->table('think_user_0')->union(array('SELECT name FROM think_user_1','SELECT name FROM think_user_2'),true)->select();

       每个union方法相当于一个独立的SELECT语句。

注意:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。


NetPc