e:刚刚意识到这可能与SQL Server的事实有关。有人知道ZF2相当于SQL Server的LIMIT吗?
大家好,
一如既往地坚持使用ZF2。
我在类中有一个fetchAll()方法,用于从某个表中选择行。现在,该方法有效,但我似乎无法限制它。
这可行(并以正确的顺序返回行):
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function(Select $select){
$select->order('messageId ASC');
});
return $resultSet;
}
但根据我的理解,限制应该相当容易(和类似),所以我这样做(这不起作用):
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function(Select $select){
$select->limit(30);
});
return $resultSet;
}
现在不返回任何内容。我做错了什么?
答案 0 :(得分:6)
使用offset()
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function(Select $select){
$select
->limit(30)
->offset(10);
});
return $resultSet;
}
答案 1 :(得分:4)
这似乎有效!
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function(Select $select){
$select->quantifier('TOP 15 ')
->order('id ASC');
});
return $resultSet;
}
将是以下查询:
SELECT TOP 15 * FROM tablename ORDER BY id ASC