namespace app\index\model;
use think\Model;
use think\Db;
class Articles extends Model {
/**
* 链式操作-UNION操作用于合并两个或多个 SELECT 语句的结果集。
* UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
*/
public function union(){
// 使用示例-union里面数据表要带前缀
$rs = Db::table('zht_articles')
->field('articleTitle')
->union('select articleTitle from zht_articles2')
->select();
// 闭包用法
$rs = Db::table('zht_articles')
->field('articleTitle')
->union(function ($query) {
$query->field('articleTitle')->table('zht_articles2');
})
->select();
// 闭包用法-或者
$rs = Db::table('zht_articles')
->field('articleTitle')
->union(['select articleTitle from zht_articles2'])
->select();
// 支持UNION ALL 操作
$rs = Db::table('zht_articles')
->field('articleTitle')
->unionAll('select articleTitle from zht_articles2')
->select();
// 支持UNION ALL 操作-或者
$rs = Db::table('zht_articles')
->field('articleTitle')
->union(['select articleTitle from zht_articles2'],true)
->select();
echo Db::getlastsql();
dump($rs);
exit;
return $rs;
}
}