我已经阅读了很多关于如何在yii中处理模型和表单的文档,我找到了一个适用于我解释的案例的解决方案,但问题是代码编写起来很复杂保持,所以我在寻找建议。
案例如下:我需要将两个不同的模型和第三个模型保存在一起,这是表格输入(同一模型的更多实例)。
例如,我可能希望使用作者信息(第二个模型)和参考列表(第三个模型,表格式)保存博客帖子(第一个模型)。
我想通过ajax一步验证所有这些并以事务方式保存它们。
我已经阅读了所有这些链接。
http://www.yiiframework.com/wiki/559/tabular-input-validating-and-saving-related-models/
http://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or-more-models/
http://www.yiiframework.com/doc/guide/1.1/en/form.table
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
最后一个链接很有意思,但如果有人有一个最好的分享方法,我会感激他。
答案 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();
我想您了解如何设置表单?你发送的那些链接非常清楚。