CakePHP查找条件不会出现在SQL查询中

时间:2014-03-05 02:43:05

标签: cakephp find conditional-statements where

我的查找条件似乎没有进入基于Debugkits SQL日志的SQL。有人能向我指出我做错了什么吗?这是我第一次尝试过滤查找结果。

BillingCenters控制器

$conditions = array(
    'BillingCenter.isactive' => '1'
);
$this->set(
    'billingcenters', 
    $this->BillingCenter->find('all', array($conditions))
);

DebugKit显示的结果SQL查询是..(缺少WHERE子句???)

SELECT 
    `BillingCenter`.`id`, 
    `BillingCenter`.`startdate`, 
    `BillingCenter`.`enddate`, 
    `BillingCenter`.`name`, 
    `BillingCenter`.`isactive`, 
    `BillingCenter`.`created`, 
    `BillingCenter`.`modified` 
FROM 
    `bm`.`billing_centers` AS `BillingCenter` 
WHERE 
    1 = 1

如果我将控制器代码更改为

$this->set(
    'billingcenters', 
    $this->BillingCenter->find('all')
);

生成的SQL仍然是相同的。

SELECT 
    `BillingCenter`.`id`, 
    `BillingCenter`.`startdate`, 
    `BillingCenter`.`enddate`, 
    `BillingCenter`.`name`, 
    `BillingCenter`.`isactive`, 
    `BillingCenter`.`created`, 
    `BillingCenter`.`modified` 
FROM 
    `bm`.`billing_centers` AS `BillingCenter` 
WHERE 
    1 = 1

1 个答案:

答案 0 :(得分:5)

这一直困扰着我。

将您的查找行更改为:

$this->set(
    'billingcenters', 
    $this->BillingCenter->find('all', array('conditions' => $conditions))
);