Yii2构造一个带有union和limit的查询

时间:2017-02-02 11:43:35

标签: php sql yii2 query-builder

我需要构造一个SQL查询,其中包含两个由UNION组合的查询,并限制返回的行数。

    $query = $queryOne
        ->union($queryTwo)
        ->limit($this->limit)
    ;

问题是LIMIT子句用第一个查询括在括号中。因此,第二个查询没有LIMIT子句。

我需要为整个查询指定LIMIT子句而不是子查询。

1 个答案:

答案 0 :(得分:1)

您需要第三个查询来优雅地解决问题:

    $query = (new Query)
        ->select('*')
        ->from([
            $queryOne->union($queryTwo),
        ])
        ->offset($offset)
        ->limit($limit)
    ;

Related