Cake PHP 在 Paginate 中使用条件和排序依据

Cake PHP Use Conditions and Order By in Paginate

我正在尝试在蛋糕中使用条件和排序方式 PHP 分页助手的分页功能

这是我正在使用的代码

$this->set('equipment', $this->Paginator->paginate('Equipment',array('conditions' => array('Equipment.equipment_type_id' => 19), 'order' => array('Equipment.problem_count', 'Equipment.barcode DESC'))));

但是它给我这个错误

错误:SQLSTATE[42S22]:未找到列:1054 'where clause'

中的未知列 'conditions'

SQL 查询:SELECT Equipment.id, Equipment.equipment_type_id, Equipment.barcode, Equipment.problem_count, Equipment.description, Equipment.created, Equipment.modified , EquipmentType.id, EquipmentType.name, EquipmentType.created, EquipmentType.modified 来自unlibike.equipment AS Equipment LEFT JOIN unlibike.equipment_types AS EquipmentType ON (Equipment.equipment_type_id = EquipmentType.id) WHERE 条件 = (19) AND order IN ('Equipment.problem_count', 'Equipment.barcode DESC') LIMIT 20

通过查看生成的 SQL 查询,看起来 Cake PHP 正在将 'conditions' 和 'Order' 解释为一个列。

谁能帮帮我?

参数顺序为Paginator::paginate

* @param Model|string $object Model to paginate (e.g: model instance, or 'Model', or 'Model.InnerModel')
* @param string|array $scope Additional find conditions to use while paginating
* @param array $whitelist List of allowed fields for ordering. This allows you to prevent ordering
 *   on non-indexed, or undesirable columns. See PaginatorComponent::validateSort() for additional details
 *   on how the whitelisting and sort field validation works.

http://api.cakephp.org/2.6/class-PaginatorComponent.html#_paginate

示例:

$this->Paginator->settings = array(
        'order'=>array('yourfields');
);

$this->Pagniator->paginate('Equipment', $conditionsArray ) ;