所以我刚刚在CakePHP开了一个小项目,我不确定如何最好地应对以下事项。
说我有用户,帖子和帖子用户。 PostsUser。用户与帖子有很多关系
PostsUser表示已阅读帖子的用户(具有userId,postId和创建日期)。
现在在我的帖子列表中,我希望能够点击一个链接,将帖子标记为PostsController中的“markRead”方法。
现在最后一个问题,我如何在PostController中保存一个新的PostsUser,我已经阅读了有关添加$ uses和添加PostsUser的内容,但这似乎不起作用。
其次这是正确的做事方式吗?有一个帖子/ markRead / 14网址似乎不错,但我愿意改变它。
答案 0 :(得分:1)
使用Controller :: use被认为是不好的做法。应通过关联访问相关模型。
在PostsController :: markAsRead()方法中,您可以使用ClassRegistry :: init('PostsUser')来获取模型的实例并从该对象调用方法。
如果它只是链接的命名,你也可以使用PostsUsersController :: markAsRead()和use the router将post / posts / markAsRead /:id路由到PostsUsersController。