如何在yii中处理具有多个模型和表格输入的复杂表格

时间:2013-10-24 16:31:00

标签: php yii tabular multiple-models

我已经阅读了很多关于如何在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 个答案:

答案 0 :(得分: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();

我想您了解如何设置表单?你发送的那些链接非常清楚。