使用kohana关系(has_many等...)和kohana-pagination

时间:2014-03-06 13:22:56

标签: php pagination kohana kohana-orm

我正在使用kohana-pagination module by Morganguide),我想知道如何使用表之间的关系。

这是一个例子。

我有三张表categoriespostscategories_post(数据透视表)

Categories has_many Posts 通过 categories_postPosts has_many {{ 1}} 通过 Categories

很好,与kohana完美搭配。

现在我想使用分页模块来显示帖子及其类别的列表。通常我只是categories_post表,然后我取,但使用Kohana +这个模块我不知道如何使用它。

我试过这个:

JOIN

1 个答案:

答案 0 :(得分:1)

确保在初始化Paginate之前设置ORM对象,并且使用关系时应该没有问题。请记住,在提取回复之前,Paginate只是在您的对象上面构建。

如果在ORM类中处理关系,那么Paginate没有什么特别之处。建议在列名前加上表名(例如“post.id”)。如果您在ORM之外加入,请务必在将ORM传递给Paginate之前这样做:

$post = ORM::factory('post')
    ->join('category')
    ->on('post.id', '=', 'category.post_id');

$paginate = Paginate::factory($post)
    ->columns(array('post.id','category.name'))
    ->execute();

我是Paginate的创建者和维护者,我很乐意回答您的任何问题。谢谢。