【发布时间】:2011-05-24 20:33:40
【问题描述】:
我正在尝试仅提取 PlanDetail.company_id = Company.id AND PlanDetail.id' => $id.. 的 PlanDetails(您可以在下面我的控制器中查看条件)..
控制器:
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没有条件的 find('all') 上的 .id 值??
感谢任何提示。
【问题讨论】:
标签: php sql cakephp controller