【发布时间】:2010-12-31 13:21:37
【问题描述】:
我现在完全糊涂了。
我有三个表:applicants、applicants_qualifications 和 qualifications。
在申请人的索引视图中,我有一个带有资格下拉列表的表格。结果应该是具有该资格的申请人名单。
所以我需要索引视图上的申请人表基于连接,对吗?
如果我将此添加到我的申请者控制器中:
$options['joins'] = array(
array(
'table' => 'applicants_qualifications',
'alias' => 'q',
'type' => 'left outer', // so that I get applicants with no qualifications too
'conditions' => array('Applicant.id = q.applicant_id',)
)
);
$this->Applicant->find('all', $options);
我在页面底部得到了一个额外的 sql 语句,带有左外连接,但没有连接的 sql 也在那里。
我认为这行:
$this->set('applicants', $this->paginate());
在没有连接的情况下调用 sql 语句。
看起来我需要将 join $options 与 paginate 调用结合起来。对吗?
如果我使用搜索表单,我会得到:'where 子句'中的未知列'Qualifications.qualification_id'
所以该页面显然还没有在连接中“使用”我的 sql。
对不起 - 我还是个菜鸟。任何帮助表示赞赏...
【问题讨论】:
标签: cakephp