2012-03-30 1 views
0

私はcakephp 2.1アプリケーションで3つのモデルを持っています。ラベル、カテゴリー、製品。Cakephpはグループによって包含/リンク可能であることを発見しました

製品はカテゴリに関連付けられています& hasOne関係でラベル付けします。

以下のデータ構造を実現するために、包含可能またはリンク可能を使用する最も効率的な方法は何ですか?

[Label] 
    [Category] 
     [Product] 

基本的に、商品をラベルとカテゴリでグループ化したいと考えています。

私は製品

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

をretriveingし、必要な結果を達成するためのデータ構造を再フォーマットするのforeachを使用して結果の上にitteratingによってafterFindスタイルでデータを修正し、関係を考え出すことができる唯一のソリューションです。

答えて

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] 
関連する問題