具有多个关联的cakephp paginate模型

时间:2010-06-19 17:21:42

标签: cakephp associations paginate

我有三个表:单位,优惠和具有以下关联的代理

  • 单位有很多优惠
  • 提供belongsTo Agent

当我对单元表进行分页时,我会获得每个单元的所有单元和所有相应的商品,但不会获得商品所属的代理商。例如:

- Unit1
  - offer1
  - offer2
- Unit2
  - offer1
  - offer2
  - offer3

我希望得到类似的东西:

- Unit1
  - offer1
    - agent1
  - offer2
    - agent2
- Unit2
  - offer1
    - agent1
  - offer2
    - agent2
  - offer3
    - agent3

怎么做?

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是在调用paginage之前增加Model的递归。

$this->Unit->recursive = 1; //or more

但你应该非常小心,因为你可以两次调用相同的模型。这里有额外的建议:在使用之前尝试取消绑定不必要的模型。再次 - 非常小心,因为这可能会减慢应用程序。

答案 1 :(得分:0)

使用Containable行为可以帮到你。我现在从不使用递归。

或者,在感兴趣的表中创建数据库视图有时会很有帮助。这将使分页更简单,并允许您准确指定所需的数据(避免不必要的数据传输)。