我刚刚开始使用Kohana,我有几个问题似乎无法找到答案。
使用ORM,如何在发送之前打包信息?如果我有一个用户模型,并且每个用户都有一个用户名,电子邮件,出生日期等...如何在将信息发送给控制器之前打包信息(比如将用户年龄添加为属性)?
再次使用ORM,我看到如果您选择用户,您还可以选择与该用户相关的所有内容(即:文章,评论等)。如何在将相关信息发送给控制器之前订购相关信息?
即:
<?php
$user = ORM::factory('user', $id);
$user->articles; // holds all articles belonging to a user.
// how can you order those articles dynamically?
在视图中,如何获取有关已登录用户的信息?您是否使用Auth (Auth::instance()->get_user())
,还是有其他方式?
此外,如果您对Kohana有任何其他提示/建议/问题,请放弃一两行,您可以回答我未来的问题。
感谢。
编辑:另一个问题。使用ORM,我希望能够加载用户发表评论的所有文章。
评论表
comment_id
user_id
article_id
etc....
使用ORM,我可以访问用户发布的所有文章,但我如何能够访问用户评论过的所有文章?
由于
答案 0 :(得分:1)
如果您使用Kohana v3,您可以订购这样的记录:
$articles = ORM::factory('user', $id)->articles
->order_by('date', 'DESC')
->find_all();
如果您使用Kohana v2,可以使用以下方法实现相同的目标:
$articles = ORM::factory('user', $id)->orderby('date', 'DESC')
->articles;
您通过Auth::instance()->get_user()
访问用户记录是正确的(如果您使用的是ORM Auth驱动程序)