2010-12-30 6 views
0

私は何かを見逃してしまったと思います。 (cakephpの)私は応募者を表示するときemployers.And出願人からhasManyの関係を持っているcakephp:追加時に関連するモデルをあらかじめ選択してください

、私は(おかげで焼くために!)すべて完璧に働いて、関連する雇用者のテーブルを参照してください

しかし、私は、「新規雇用をクリックすると、 '、私はそれを隠すことができるようにpre-selectに応募者のドロップダウンをします。私は雇用者のための追加ビューにapplicant_idをどのように渡すかを理解できません。

(私は申請者のための関連の雇用テーブルから雇用主を編集する場合、applicant_idが渡されるん)

誰でも助けることができますか?お願いします? ヴァーニーン

+0

雇用者と申請者のモデルを投稿できますか? – Nigel

答えて

0

シンプルです。 applicant_idemployers/addに渡してください。

これを行う1つの方法は、URLパラメータによるものです。例:/employers/add/3は、追加アクションに "3"を渡します。これは応募者IDとみなされます。ここでは、コントローラのコードです:

echo $this->Html->link('Add Employer', array('controller' => 'employers', 'action' => '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パラメータを提供することを確認する必要があります

最後に、あなたはadd.ctpファイル内のフォームから申請者IDを非表示にすることができます:

echo $this->Form->input('applicant_id', array('type' => 'hidden')); 

それが助けてくれることを願います!

+0

は夢のように動作します! – Vauneen

+0

ようこそ。答えがあなたを助けた場合は、あなたは上向きに投票したり、正しい答えとして選択したりして、自分の役割を果たす必要があります。 StackOverflowコミュニティへようこそ: – RabidFire

+0

完了!歓迎のおかげで。:-) – Vauneen

関連する問題