where条款在cakephp 3.4中不起作用
我想在子类别控制器中使用类别列表。我尝试以下方法来获取状态为1的类别where条款在cakephp 3.4中不起作用,php,mysql,cakephp,cakephp-3.0,Php,Mysql,Cakephp,Cakephp 3.0,我想在子类别控制器中使用类别列表。我尝试以下方法来获取状态为1的类别 $this->loadModel('Categories'); $query = $this->Categories->find(); $query->where(['cat_status' => 1]); 这将返回以下输出 '选择Categories.id作为Categories\uu id,选择Categories.cat\u name作为 Categories\uuu cat\u name
$this->loadModel('Categories');
$query = $this->Categories->find();
$query->where(['cat_status' => 1]);
这将返回以下输出
'选择Categories.id作为Categories\uu id
,选择Categories.cat\u name作为
Categories\uuu cat\u name
,Categories.cat\u状态为Categories\uu cat\u状态
来自类别类别,其中cat_状态=:c0'
我不知道它是从哪里来的:c0。然后我使用了另一个代码,它给出了所有列表,但where子句不起作用
$this->loadModel('Categories');
$categories = $this->Categories->find('all',[
'where' => (['cat_status'=>1]),
'limit' => 5,
'order' => 'Categories.id DESC'
]);
debug($categories);
输出是
选择Categories.id作为Categories\uu id
,Categories.cat\u name作为
Categories\uu cat\u name
,Categories.cat\u状态为
Categories\uuuu cat\u status
来自类别排序依据
类别id描述限制5
请建议一种合适的方法。通过查询传递条件,如下例所示 范例
$categories = $this->Categories->find('all',['conditions'=>['cat_status'=>1]])->limit(5)->order(['Categories.id'=> 'DESC']);
通过查询传递条件,如下例所示 范例
$categories = $this->Categories->find('all',['conditions'=>['cat_status'=>1]])->limit(5)->order(['Categories.id'=> 'DESC']);
您需要先添加
->()
对于where子句,如下所示:
$query->where(['cat_status' => 1])->first();
您需要先添加->()
对于where子句,如下所示:
$query->where(['cat_status' => 1])->first();
在运行->find()
之前,将->where()
放在何处不是更有意义的吗“不工作”不是正确的问题描述!即使这个问题对于了解CakePHP内部结构的人来说是显而易见的,但请始终尽可能具体地说明到底发生了什么,以及您希望发生什么。显示您正在使用的数据、上下文、重现问题所需的代码、调试尝试和可能的错误。话虽如此,您显示的是一个完全有效的SQL查询,其中包含一个占位符作为绑定值。@RiggsFolly在CakePHP 3.x中,find()
返回一个查询(builder)对象。@ndm Ah解释了将用作绑定参数的:c0
,将->放在何处()
在运行->find()之前,“不工作”不是正确的问题描述!即使这个问题对于了解CakePHP内部结构的人来说是显而易见的,但请始终尽可能具体地说明到底发生了什么,以及您希望发生什么。显示您正在使用的数据、上下文、重现问题所需的代码、调试尝试和可能的错误。话虽如此,您显示的是一个完全有效的SQL查询,其中包含一个占位符作为绑定值。@RiggsFolly在CakePHP 3.x中,find()
返回一个查询(builder)对象。@ndm Ah解释了将用作绑定参数的:c0
。我得到了结果,但为什么查询是选择Categories.id作为Categories\uu id
,Categories.cat\u name作为Categories\uu cat\u name
,Categories.cat_status ASCategories_cat_status
来自Categories Categories,其中cat_status=:c0按类别排序。id DESC LIMIT 5您能解释一下什么是:c0吗?@shubham715不允许转义输入。这样做是为了允许绑定参数。即使你可以在这里详细阅读它的工作。我得到了结果,但为什么查询是选择Categories.id作为Categories\uu id
,Categories.cat\u name作为Categories\uu cat\u name
,Categories.cat_status ASCategories_cat_status
来自Categories Categories,其中cat_status=:c0按类别排序。id DESC LIMIT 5您能解释一下什么是:c0吗?@shubham715不允许转义输入。这样做是为了允许绑定参数。甚至你也可以在这里详细阅读