首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cakephp:博客教程扩展教程

cakephp:博客教程扩展教程
EN

Stack Overflow用户
提问于 2014-04-26 00:10:19
回答 1查看 66关注 0票数 0

我正在尝试扩展文档中的简单博客教程。

我在/app/View/ users /index.ctp上有一个index.ctp,所有用户在每个用户名上都有一个链接。当我单击用户名时,我希望它会转到view.ctp,并显示每个用户的博客帖子和每个用户已经发布的帖子数量。

我在这里得到一个错误。我需要为此编写一个组件吗?如果是这样,我该怎么做呢?

代码语言:javascript
运行
复制
class UsersController extends AppController {
  public function view($id = null) {
   $this->set('allposts',$this->Post->findByUserId($id));
  }
}

所以在这一点上我得到了一个错误,因为它看不到用户模型中的Post模型。我该如何解决这个问题呢?

谢谢……

EN

回答 1

Stack Overflow用户

发布于 2014-04-26 00:13:40

不,你不需要一个组件。如果你已经正确地链接了你的模型(就是这样,设置belongsTos和hasMany(es)等),那么你必须通过连接来访问帖子。

代码语言:javascript
运行
复制
$this->set('allposts',$this->User->Post->findByUserId($id));

有关这一点,请参阅other questions

现在,扩展一下这一点,因为您似乎对组件的实际作用感到有点困惑。组件是向控制器扩展或添加功能的一种方式。比方说,如果你想创建一个新的分页器,或者从你的控制器调用Facebook来获取信息,并且没有明确的位置(用户可以有facebook信息,但如果你有另一个名为"Friends“的控制器,你可能也必须在那里放置一些facebook功能)。

通常,如果您认为需要一个组件才能从一个模型调用到另一个模型,这是一个错误组织的标志(不是一般规则,当这不是真的时,我会给出一些例子)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23298087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档