0

请帮助我在 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

请帮我。感谢!

4

1 回答 1

3

如果您的型号名称是文章:

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,

而且我并没有真正注意到“条件”中的拼写错误。

于 2013-05-04T16:15:53.923 回答