Model view controller Cakephp:在控制器操作中维护多个/belongsTo关系

Model view controller Cakephp:在控制器操作中维护多个/belongsTo关系,model-view-controller,cakephp,Model View Controller,Cakephp,请原谅问题的标题;花了20分钟试着写一些东西,如果成功的话 无论如何,以博客为例,我们的模型如下: 这篇文章有很多评论 发表评论 假设我想添加一条新注释:保存注释时,我需要在调用save之前在数据数组中包含父Post Post.id的外键 因为我想在上下文中保持与用户的关系-I 不希望他们必须从选择字段中选择一篇文章来关联评论-我看到了两个选项: 1将评论表放在帖子的视图中 2通过GET to the Comment.add action或write/read to/from Session将P

请原谅问题的标题;花了20分钟试着写一些东西,如果成功的话

无论如何,以博客为例,我们的模型如下:

这篇文章有很多评论 发表评论

假设我想添加一条新注释:保存注释时,我需要在调用save之前在数据数组中包含父Post Post.id的外键

因为我想在上下文中保持与用户的关系-I 不希望他们必须从选择字段中选择一篇文章来关联评论-我看到了两个选项:

1将评论表放在帖子的视图中

2通过GET to the Comment.add action或write/read to/from Session将Post Id作为参数传递;保存和 重定向回父Post.view

选项1非常适合博客,但不适合用户的个人资料,这可能是 表单太长,无法整齐地包含在用户视图中

我想选项2是可行的,但我必须编写一些特定于Post的显示/重定向条件 添加Comments.addaction,但它似乎不正确;根据我所读到的,我 应尝试在控制器之间保持1:1的关系 和模型


2作为Web MVC最佳实践是否可以接受?还是我忽略了另一种选择?

这两种选择对我来说都不错

如果表单太长,只需在其中插入一个局部视图。 我认为在多个控制器中使用模型没有问题。当然,您不应该在每个控制器中使用每个模型,但是如果您需要两个模型,为什么不呢?
这两种选择对我来说都很好

如果表单太长,只需在其中插入一个局部视图。 我认为在多个控制器中使用模型没有问题。当然,您不应该在每个控制器中使用每个模型,但是如果您需要两个模型,为什么不呢?
我经常一起做这两件事。如果你想把表单放在其他地方,我可能会使用一个元素将表单放在帖子的视图中,但是让它提交给它的控制器注释的add操作,在本例中,并传递帖子的id。请注意-如果您需要实现私有帖子等,最好在Comments controller的add操作中也进行检查。

我经常同时执行这两项操作。如果你想把表单放在其他地方,我可能会使用一个元素将表单放在帖子的视图中,但是让它提交给它的控制器注释的add操作,在本例中,并传递帖子的id。请注意——如果您需要实现私有帖子等,最好在Comments控制器的add操作中进行检查