【问题标题】:Who is responsible for deleting the PostImages? The PostsController or the PostImagesController?谁负责删除 PostImage? PostsController 还是 PostImagesController?
【发布时间】:2012-12-20 15:56:18
【问题描述】:

这个问题是关于MVC中的一个概念:

假设我的系统中有两个基本实体:Post 有许多 PostImage(1:N 关系)。

在某个时刻,我正在编辑Post,我想删除一些PostImage

这是我的疑问:哪个Controller 负责执行删除PostImage 的操作?

a) PostsControllerPostImage 只存在于 Post 内部)?
b) PostsImageController?
c) 两者都是正确的选择。

注意:我使用的是 CakePHP,但我认为这无关紧要,因为 MVC 是一个概念,对吧?

【问题讨论】:

  • 实际上,如果你使用的是 CakePHP,你不应该关心 MVC,因为该框架没有实现任何与 MVC 设计模式相似的东西。

标签: model-view-controller cakephp controller


【解决方案1】:

PostImagesController 负责告诉PostImageModel 删除记录。

假设您已正确关联它们,您可以在 PostsController 中执行的操作是从 PostImage 模型调用 delete() 方法。

$this->Post->PostImage->delete($postImageId);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多