1

我已经阅读了很多关于如何在 yii 中处理模型和表单的文档,并且我找到了一个适用于我在下面解释的案例的解决方案,但问题是代码编写和维护都很复杂,所以我正在寻找建议。

情况如下:我需要将两个不同的模型和作为表格输入的第三个模型(同一模型的更多实例)保存在一起。

例如,我可能想保存一篇博客文章(第一个模型),其中包含作者信息(第二个模型)和一个参考列表(第三个模型,表格模型)。

我想通过 ajax 一步验证所有这些并以事务方式保存它们。

我已经阅读了所有这些链接。

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

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

最后一个链接很有趣,但如果有人可以分享一个最佳实践,我会感谢他。

4

1 回答 1

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();

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

于 2013-12-12T14:43:03.987 回答