2010-01-29 26 views
1

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

感谢

+0

我没有使用ORM,但我很乐意回答任何其他问题。 – alex 2010-01-29 01:21:45

+0

如果我可能会问,为什么不使用ORM?你觉得有什么更好的吗? – BDuelz 2010-01-29 01:29:06

+0

现在,我没有任何其他问题。如果您有任何想要分享的内容,请认为我应该知道,我会很感激。 – BDuelz 2010-01-29 01:30:07

回答

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认证驱动程序)