我想我错过了什么。 (cakephp的)
我与雇主之间有很多关系。当我查看申请人时,我看到相关的雇主表完全正常工作(感谢烘烤!)
但如果我点击“新雇主”,我希望申请人下拉预选,这样我就可以隐藏它。我只是想弄清楚我如何将applicant_id传递给雇主的添加视图。
(如果我从相关雇主表中为申请人编辑雇主,则applicant_id确实通过了)
有人可以帮忙吗?请? Vauneen
答案 0 :(得分:0)
简单。将applicant_id
传递给您的employers/add
操作。
执行此操作的一种方法是通过URL参数。示例:/employers/add/3
会将“3”传递给添加操作,这可以作为申请人ID。这是控制器代码:
function add($applicantId = null) {
// Optional: Check if $applicantId is provided
if (!$applicantId) {
$this->Session->setFlash('Applicant ID is missing.');
$this->redirect(array('action' => 'index'));
}
// Process action
if (!empty($this->data)) {
$this->Employer->create();
if ($this->Employer->save($this->data)) {
// etc ...
}
} else {
// Insert default values such as applicant_id into the form
$this->data = array(
'Employer' => array(
'applicant_id' => $applicantId
)
);
}
}
现在,您需要确保所有链接都提供申请人ID参数:
echo $this->Html->link('Add Employer', array('controller' => 'employers', 'action' => 'add', 3);
(注意:最后一个元素“3”是申请人ID)
最后,您可以在add.ctp
文件中隐藏申请人ID:
echo $this->Form->input('applicant_id', array('type' => 'hidden'));
希望有所帮助!