我需要构造一个SQL查询,其中包含两个由UNION
组合的查询,并限制返回的行数。
$query = $queryOne
->union($queryTwo)
->limit($this->limit)
;
问题是LIMIT
子句用第一个查询括在括号中。因此,第二个查询没有LIMIT
子句。
我需要为整个查询指定LIMIT
子句而不是子查询。
答案 0 :(得分:1)
您需要第三个查询来优雅地解决问题:
$query = (new Query)
->select('*')
->from([
$queryOne->union($queryTwo),
])
->offset($offset)
->limit($limit)
;