0

私はこの質問が非常に単純であることを知っています。しかし、私はGoogleでそれを見つけることができません。結局、私はケーキに非常に慣れていません。

たとえば、 と の 2 つのモデルがProductありCategoryます。

利用可能なカテゴリのリストとそのProduct indexカテゴリの製品の量を表示したいと考えています。以下のように:

Food (10)
Beverages (7)
...

利用可能なカテゴリをループすることに成功しましたが、それを数える方法がわかりません。以下は私のループです:

<?php foreach($categories as $c): ?>
    <li> ... <?php echo $this->$c->Product->find('count') ?> </li>
<?php endforeach; ?>
// The ... part is echo-ing the category name

多くのバリエーションを試しましたが、ArrayHelper not foundまたはのようなエラーが発生し続けますProductHelper not found

誰にも解決策がありますか?

ありがとう

編集

これは、提案されたループを追加する前の私のProductControllerコードです。foreach

public function index() {
            //the first two lines is default from cake bake
        $this->Product->recursive = 0;
        $this->set('products', $this->paginate());
        $categories = $this->Product->Category->find('all');
        $this->set('categories', $categories);
    }
4

2 に答える 2

1

ビューファイルで呼び出そうとしていますがmodel、代わりにコントローラー自体から製品カウントを配列に追加できます。たとえば、コード例は次のようになり ます

$categories = $this->Product->Category->find('all',array('recursive'=>-1));
foreach($categories as $key => $category){
  $categories[$key]['ProductCount'] = $this->Product->find('count',
   array(
     'conditions'=>array('Product.category_id'=>$category['Category']['id'])
   )
  );
}

ProductCount製品の名前に置き換えることができる場所

于 2013-05-10T05:48:19.200 に答える