如何在Zf2逻辑中创建OFFSET和FETCH NEXT?结果应该类似于以下
SELECT * FROM mytable
ORDER BY id DESC
OFFSET 100 ROWS
FETCH NEXT 10 ROWS ONLY
如here所述。 使用以下代码时
$select = $this->tableGateway->getSql()->select();
$select->order('id DESC');
$select->offset(100);
$select->limit(10);
$resultSet = $this->tableGateway->selectWith($select);
然后输出
SELECT [mytable].*
FROM [mytable]
ORDER BY [id] DESC
LIMIT '10' OFFSET '100'
不适用于SQL Server。我需要的输出是上面的输出。
db.config.php中的配置如下所示
'db_sql_server' => array(
'driver' => 'pdo',
'dsn' => 'dblib:host=myhost;dbname=mydatabase',
'username' => 'myusername',
'password' => 'mypasswort',
),
我在这里为mysql配置'db'配置。 并在global.php
return array(
'service_manager' => array(
'factories' => array(
/**
* Adapter SQL Server
*/
'Application\Db\AdapterSQLServer' => function($sm) {
$config = $sm->get('Config');
return new Adapter($config['db_sql_server']);
},
),
),
)
我在Module.php中使用Table Gateway参考。
答案 0 :(得分:0)
我相信你需要在' db_sql_server'中更改驱动程序名称。来自
的配置数组'driver' => 'pdo'
到
'driver' => 'sqlsrv'