yii联合查询union的使用方法
2021-01-13 15:47:44
yii里union的调用方法如下:
\(queryAll = \)query1->union(\(query2, true);</p><p>需要注意的是,最后获取联合查询的列表内容,需要再创建一个查询对象,而不能直接用\)queryAll->all()。而且union的select字段需要一致。
\(query1 = new Query(); \)query1->from(‘table1’); $query1->select([‘c1’, ‘c2’, ‘(“ios”) as type’]);\(query2 = new Query(); \)query2->from(‘table2’); $query2->select([‘c1’, ‘c2’, ‘(“android”) as type’]);
\(unionQuery = \)query2->union(\(query1, true); \)count = $unionQuery->count();
// 这里需要创建一个新的query,把\(queryAll做子查询 \)list = (new Query())
->from(['tmpA' => $queryAll]) ->offset($offset) ->limit($limit) ->orderBy('id asc') ->all();</pre><p><br></p><p><br></p><p></p>