cakephp:博客教程教程扩展

时间:2014-04-25 16:10:19

标签: cakephp blogs

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

我在/app/View/Users/index.ctp上有一个index.ctp,所有用户都显示每个用户名的链接....当我点击用户名时,我希望它会转到视图.ctp并显示每个用户的博客帖子以及每个用户完成的帖子数量。

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

class UsersController extends AppController {
  public function view($id = null) {
   $this->set('allposts',$this->Post->findByUserId($id));
  }
}

因此,我在此时收到错误,因为它无法在用户模型中看到Post模型。我该如何解决这个问题?

...谢谢

1 个答案:

答案 0 :(得分:1)

不,你不需要一个组件。如果您已正确链接模型(即“它”,“设置belongsTos和hasMany(es)等”),则必须通过连接来访问帖子。

$this->set('allposts',$this->User->Post->findByUserId($id));

请参阅other questions

现在,扩展这一点,因为你似乎对组件实际上做了什么感到困惑。组件是向控制器扩展或添加功能的一种方法。如果你想创建一个新的Paginator,或者从你的控制器调用Facebook来获取信息,那么就没有明确的地方(用户可以拥有facebook信息,但如果你有另一个名为&#的控制器) 34;朋友",你可能还需要在那里放一些facebook功能。)

通常情况下,如果你认为你需要一个组件来从一个模型到另一个模型进行调用,那么这就是你在错误地组织事情的一个标志(不是一般规则,我对这个问题的实例是开放的。 #39; t true)。