zend-framework2 - 如何在 Zend2 的删除查询中使用 limit 和 order by

标签 zend-framework2 sql-order-by sql-delete zend-db-table sql-limit

我有以下 sql 查询,我需要在 zend2 中编写它。

DELETE FROM test_table WHERE user_id = 2 ORDER BY id ASC LIMIT 10

我试过这个:

$sql = new Sql($this->dbAdapter);
$delete = $sql->delete();
$delete->from('test_table');
$delete->where(array('user_id' => 4));

$delete->order('Id ASC');
$delete->limit(10);

$stmt = $sql->prepareStatementForSqlObject($delete);
$results = $stmt->execute();

但是当我添加这两行时它不起作用:

$delete->order('Id ASC');
$delete->limit(10);

最佳答案

猜猜您正在使用 SQL 适配器。但是,如果您查看 SQL ZF delete() implementation ,您会看到没有 order()limit() 方法。所以你不能调用他们...

关于zend-framework2 - 如何在 Zend2 的删除查询中使用 limit 和 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39746928/

相关文章:

php - Zend Framework 2 TableGateway fetchAll 方法返回空结果集但表包含数据

php - 想象一下 ZF2 : Ratio Resize

c# - Linq 从两个表中选择按列表排序

php - 按日期和自动递增列 (id) 排序,但按第四列 (ab) 的字母顺序对第三列 (oid) 具有相同值的行进行排序

c# - Linq orderby bool 值

mysql - mysql 查询出现异常错误 "delete"

mysql - 使用 SELECT 进行 SQL 删除

php - 使用 zend 模型和 Controller 实现登录认证

mysql - 如何从 MySQL 中的多个表中删除?

php - 如何在 zend framework 2 中验证注册表单?