2013-10-24 37 views
1

我讀過很多關於如何處理模型和表單的文檔,我發現了一個解決方案,適用於我解釋下面的情況,但問題在於編寫和維護代碼複雜,所以我在尋找建議。如何處理複雜的表單與多個模型和表格輸入yii

情況如下:我需要將兩個不同的模型和第三個模型(表格輸入(同一模型的更多實例))一起保存。例如,我可能希望用作者信息(第二個模型)和引用列表(第三個模型,表格)保存博客文章(第一個模型)。

我想通過ajax在一個步驟驗證他們所有人,並保存他們的事務。

我已閱讀所有這些鏈接。

http://www.yiiframework.com/wiki/559/tabular-input-validating-and-saving-related-models/

multi model forms in yii

http://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or-more-models/

http://www.yiiframework.com/wiki/218/how-to-use-single-form-to-collect-data-for-two-or-more-models-cactiveform-and-ajax-validation-edition/

http://www.yiiframework.com/doc/guide/1.1/en/form.table

http://www.yiiframework.com/wiki/362/how-to-use-multiple-instances-of-the-same-model-in-the-same-form/

http://www.yiiframework.com/forum/index.php/topic/14082-transaction-on-multiple-ar/

http://www.yiiframework.com/wiki/559/tabular-input-validating-and-saving-related-models/

https://github.com/yiiext/with-related-behavior

最後一個環節是有趣的,但如果有人來分享一個最佳實踐,我會感謝他。

回答

1

我認爲你正在尋找的東西是這樣的:http://www.yiiframework.com/extension/eadvancedarbehavior/

這是一個擴展,不正是你問。


從鏈接引用:

HAS_ONE和HAS_MANY

假設用戶HAS_ONE地址和電子郵件HAS_MANY和地址/電子郵件belongs_to的用戶(包括有外鍵列USER_ID)。

所以,你現在可以做的事:

$blog = new Blog();  
$blog->author = $author; //the author model object 
$blog->references = array($references1, $references2, ...) ; //reference model objects 
$blog->save(); 

我想你明白如何設置的形式?你發送的這些鏈接非常清楚。