Cakephp通过Group查找可包含/可链接

时间:2012-03-30 11:56:38

标签: cakephp cakephp-2.0 containable

我在cakephp 2.1应用程序标签,类别,产品中有3个模型。

产品与Category&通过hasOne关系标记。

使用containsable或linkable实现以下数据结构的最有效方法是什么。

[Label]
    [Category]
        [Product]

基本上我想按类别和类别按标签对产品进行分组。

我能提出的唯一解决方案是通过回收产品来修改afterFind风格的数据

$this->Product->find('all', array(
    'contain' => array(
        'Category',
        'Label
);

然后使用foreach重新格式化数据结构以获得所需结果。

1 个答案:

答案 0 :(得分:0)

我不太确定我是否理解正确但基于我的理解,这是你应该做的。

在各自的模特中

Label hasMany Category; // label.php
Category belongsTo Label; // category.php
Category hasMany Product; // category.php
Product belongsTo Category; // product.php

在要获取这些关联的产品控制器中。

$this->Product->Label->recursive = 2;
$this->Product->Label->find('all');

产生的结构将是

[Label]
   [Category]
      [Product]