2014-03-19 58 views
0

這是我的第一個堆棧溢出問題,所以我保持我的手指交叉!Yii - 爲相關模型創建記錄並填充父表單

場景:

我有合同和客戶之間的關係,在模型表示爲:現在

 'customer' => array(self::BELONGS_TO, 'Customer', 'customer_id'), 

,這是好的 - 我可以使用相關模型視圖沒有問題。

我想要什麼,卻是:

  • 添加到從創建合同頁面中添加一個「新客戶」按鈕
  • 有它火起來的能力(這是罰款)的/客戶/創建表單(這也是很好的)
  • 但是,創建完成後,讓它捕獲新ID,關閉窗口並返回到創建合同頁面,並創建新創建的客戶ID。我不能爲我的生活工作如何做到這一點:(

讚賞任何幫助。

加里

+0

您可以使用ajax調用來創建新的客戶並使用響應數據來填充合同表單... – gSorry

回答

0

一種方法是這樣,當你的actionSave()保存的客戶,您可以重定向該頁面類似

www.website.com/contract/create/CUSTOMER_ID

現在,您可以將用戶標識傳遞給表單並將其預先填充。 隨着你的合同創建操作是這樣的: -

public function actionCreate($user_id = NULL){ 
    ... 
    $model = new Contract(); 
    if($user_id) 
     //You can also check here if the user ID is valid or not 
     $model->user_id = $user_id; 
    $this->render('create', array(
     'model' => $model 
    )); 
} 

另一種方法是,你可以把用戶ID的會話和用戶重定向到縮合創建頁面,並獲取用戶ID存在,並再次將它傳遞給模型如上。

希望它有助於解決這個問題。

+0

感謝您 - 這完全有道理,但就網頁流程而言......我該如何做到這一點如果我想從合同頁面開始,然後啓動新客戶頁面,然後在我的原始頁面上捕獲該ID? 這有道理嗎?我可以看到這個工作,如果我開始與客戶,然後重新定向到合同 - 但我希望能夠填寫合同信息,找到客戶位,認爲'哦,我不需要創建一個新的',並且能夠離開,創建一個,然後讓數據返回到我正在處理的合同表格中。 – Felders

+0

您有客戶和合同之間的1-1關係,對不對? –

相關問題