Cakephp 蛋糕-对如何计算数据感到困惑

Cakephp 蛋糕-对如何计算数据感到困惑,cakephp,Cakephp,我知道这个问题很简单。但我在谷歌上找不到它。毕竟我对蛋糕还是个新手 例如,我有两种型号:产品和类别 在产品索引中我想显示可用类别的列表以及该类别中的产品数量。如下图所示: Food (10) Beverages (7) ... 我成功地循环了可用的类别,但不确定如何计数。下面是我的循环: <?php foreach($categories as $c): ?> <li> ... <?php echo $this->$c->Product->

我知道这个问题很简单。但我在谷歌上找不到它。毕竟我对蛋糕还是个新手

例如,我有两种型号:
产品
类别

产品索引中
我想显示可用类别的列表以及该类别中的产品数量。如下图所示:

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

您试图调用视图文件中的
模型
,您可以从控制器本身将产品计数添加到数组中,例如,示例代码如下: 在控制器中

$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
可以替换为您试图在视图文件中调用的
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
可以替换为产品名称,而不是计算每个请求的计数,请使用该功能存储每个类别的产品计数,然后简单地显示该计数。

而不是计算每个请求的计数,使用该功能存储每个类别的产品计数,然后简单地显示出来。

谢谢,我会尝试,如果成功/失败,我会告诉您,在使用代码
$this->category…
时,是否对非对象的成员函数find()调用了
。是因为代码在
ProductController
中吗?@DarcCode这只是一个示例,说明了如何实现它。。。您需要根据您的控制器进行更改,我的意思是$this->Product,而不是$this->Category..谢谢,我会尝试并告诉您,在使用代码
$this->Category…
时,是否成功/notI对非对象的成员函数find()调用了
错误。是因为代码在
ProductController
中吗?@DarcCode这只是一个示例,说明了如何实现它。。。你需要根据你的控制器来更改它,我的意思是像$this->Product这样的东西而不是$this->Category..你能显示你的控制器代码来获取$categories数据吗..我已经更新了控制器代码。谢谢你的帮助…你能显示你的控制器代码来获取$categories数据吗..我已经更新了控制器代码。谢谢你的帮助…嗯,我试过手册,但它总是给我
未定义的索引:product\u count
错误。要使用它,我们只需键入
$category['category']['product\u count']
对吗?没关系,我忘了在我的分类表中添加
product\u count
字段。嗯,我试过手册,但它总是给我
未定义的索引:product\u count
错误。要使用它,我们只需键入
$category['category']['product\u count']
对吗?没关系,我忘了在分类表中添加
product\u count
字段