我想只提取PlanDetails在哪裏PlanDetail.company_id = Company.id和PlanDetail.id'=> $ id ..(你可以看到下面我控制器)的條件..CakePHP數組()是空的,但查詢似乎得到正確的結果
控制器:
function pd_list_by_company($id = null) {
$this->recursive = 2; // I am going to use containable to trim this.
return $this->PlanDetail->find('all',
array('conditions' =>
array('AND' =>
array('PlanDetail.company_id' => 'Company.id',
array('PlanDetail.id' => $id)))));
}
測試視圖:我調試的
$planDetailsByCompany = $this->requestAction('/planDetails/pd_list_by_company');
debug($planDetailsByCompany);
輸出結果?
Array()
如果我刪除的條件,只是有發現所有,我得到的所有PlanDetails如預期,所以我知道數據被傳遞.. SQL調試轉儲甚至顯示查詢:
WHERE ((`PlanDetail`.`company_id` = 'Company.id') AND (`PlanDetail`.`id` IS NULL))
是的,我注意到$ id是NULL,並且我知道該值需要在那裏..所以也許我的問題是爲什麼$ id值沒有被傳遞給控制器,即使我可以看到PlanDetail.id找到('all')w/out條件的值
感謝您的任何提示。
我也試過。沒有價值被傳遞。 ||警告(2):缺少參數1 for PlanDetailsController :: pd_list_by_company()[APP/controllers/plan_details_controller.php,179行] 注意(8):未定義變量:id [APP/controllers/plan_details_controller.php,第181行] – OldWest 2011-05-24 21:42:00
這意味着你應該檢查函數的調用位置,並確保它指定了一個參數。這個問題似乎不在'pd_list_by_company()'中,而是在你調用函數的地方。 – Arjan 2011-05-24 21:45:44