刚开始使用Kohana ......有几个问题

时间:2010-01-29 01:14:51

标签: php kohana

我刚刚开始使用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,我可以访问用户发布的所有文章,但我如何能够访问用户评论过的所有文章?

由于

1 个答案:

答案 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驱动程序)