我在cakephp 2.1应用程序标签,类别,产品中有3个模型。
产品与Category&通过hasOne关系标记。
使用containsable或linkable实现以下数据结构的最有效方法是什么。
[Label]
[Category]
[Product]
基本上我想按类别和类别按标签对产品进行分组。
我能提出的唯一解决方案是通过回收产品来修改afterFind风格的数据
$this->Product->find('all', array(
'contain' => array(
'Category',
'Label
);
然后使用foreach重新格式化数据结构以获得所需结果。
答案 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]