cakephp 1.3分页habtm相关数据

时间:2011-01-07 15:29:01

标签: php cakephp pagination cakephp-1.3 has-and-belongs-to-many

我已经搜索过高低,并尝试了多种不同的解决方案,我似乎无法让它工作。 基本上我有产品和类别。 类别拥有并属于许多产品,而产品属于HABTM类别。它们显然与具有id,product_id,category_id字段的连接表products_categories相关。

在简单的完整烘焙 - 模型视图和控制器被烘焙后 - 添加了一些类别和产品并设置了它们的关系我可以转到特定的类别视图页面,预烘焙视图将显示与此类别相关的产品

但是,有很多产品(并且会更多),我正在努力研究如何对所有这些相关数据进行分页......因为仅仅列出一个类别中的所有产品是不可行的(可能有100或更多) 有人可以帮忙吗?似乎有很多未解决的问题和各种不同的解决方案,我都无法开展工作!请帮忙!

2 个答案:

答案 0 :(得分:3)

CakePHP控制器有built in pagination。文档是彻底的,所以我建议先阅读。之后,我很乐意回答您对此问题的任何疑问。

在不知道所涉及的具体代码的情况下,这是一个如何对模型数据进行分页的简单示例:

class CategoryController extends AppController {
    var $paginate = array(
        'Product' => array(
            'joins' => array(
                array(
                    'table' => 'categories_products', // or products_categories
                    'alias' => 'CatFilter',
                    'type' => 'INNER',
                    'conditions' => array(
                        'CatFilter.product_id = Product.id'
                    )
                )
            ),
            'limit' => 10
         )
    );

    function view ($category_id) {
        $this->set(
            'products', $this->paginate(
                $this->Category->Product, array(
                    'CatFilter.category_id' => $category_id
                )
             )
        );
    }
}

答案 1 :(得分:0)