请帮我从Cakephp中的多个条件中检索表中的数据
我有一个表名:article;我试图用下面的代码检索数据
我想获得参数中给出的特定id; article_price> 0和article_status> 1
public function getArticle($artID = ''){
return $this->find('all', array(
'condition' => array(
'article_id =' => $artID,
'article_price' => '> 0',
'article_status = ' => '1'),
'order' => 'article_id DESC'
));
}
//输出了所有数据而没有我想要的条件。
我的代码有什么问题?
我发现的是我打印: echo $ this-> element('sql_dump'); ,我得到了以下sql语句:
SELECT `article`.`article_id`, `article`.`name`, `article`.`article_price`, `article`.`article_status` FROM `db_1stcakephp`.`article` AS `article` WHERE 1 = 1 ORDER BY `article_id` DESC
请帮帮我。 谢谢!
答案 0 :(得分:3)
如果您的型号名称是Article:
public function getArticle($art_id) {
return $this->find('first', array(
'conditions' => array(
'Article.article_id' => $art_id,
'Article.article_price >' => 0,
'Article.article_status >' => 1,
),
));
}
使用'Model.field'语法是可选的,直到您的模型具有关系并具有相同的名称 - 例如Article.status和Author.status。
将比较符号移动到数组的关键部分允许您执行:
'Article.price >' => $minPrice,
'Article.price <=' => $maxPrice,
我并没有真正注意到“条件”中的拼写错误。