我正在使用kohana-pagination module by Morgan(guide),我想知道如何使用表之间的关系。
这是一个例子。
我有三张表categories
,posts
和categories_post
(数据透视表)
Categories
has_many Posts
通过 categories_post
和Posts
has_many {{ 1}} 通过 Categories
很好,与kohana完美搭配。
现在我想使用分页模块来显示帖子及其类别的列表。通常我只是categories_post
表,然后我取,但使用Kohana +这个模块我不知道如何使用它。
我试过这个:
JOIN
答案 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的创建者和维护者,我很乐意回答您的任何问题。谢谢。