where子句在cakephp 3.4中不起作用

时间:2017-07-03 12:18:57

标签: php mysql cakephp cakephp-3.0

我想在子类别控制器中使用类别列表。我正在尝试使用以下方法来获取状态为1的类别。

$this->loadModel('Categories');
$query = $this->Categories->find();
$query->where(['cat_status' => 1]);

这是在输出后返回

  

'SELECT Categories.id AS Categories__id,Categories.cat_name AS       Categories__cat_name,Categories.cat_status AS Categories__cat_status       FROM categories类别WHERE cat_status =:c0'

我不知道它到底在哪里:c0。然后我使用了另一个代码,它给出了所有列表但where子句不起作用。

$this->loadModel('Categories');
$categories = $this->Categories->find('all',[
                                            'where' => (['cat_status'=>1]),
                                            'limit' => 5,
                                            'order' => 'Categories.id DESC'
    ]);
debug($categories);

输出

  

SELECT Categories.id AS Categories__id,Categories.cat_name AS   Categories__cat_name,Categories.cat_status AS   Categories__cat_status FROM categories类别ORDER BY   Categories.id DESC LIMIT 5

请建议合适的方式。

2 个答案:

答案 0 :(得分:0)

通过查询传递条件,如下例所示。

示例

$categories = $this->Categories->find('all',['conditions'=>['cat_status'=>1]])->limit(5)->order(['Categories.id'=> 'DESC']);

答案 1 :(得分:0)

您需要添加import { dataService } from '../data.service'; export const stateA = { name: 'stateA', url: '', onEnter: function(trans, state) { dataService.update(); } } 到你的where子句,如下:

->first()