2013-10-24 35 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(); 

我想你明白如何设置的形式?你发送的这些链接非常清楚。