Я пытаюсь извлечь ТОЛЬКО PlanDetails, где PlanDetail.company_id = Company.id AND PlanDetail.id '=> $ id .. (вы можете увидеть условия в моем контроллере ниже) ..
Контроллер:
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') без условий ??
Спасибо за любые советы.