首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >find('count') find('all')组合

find('count') find('all')组合
EN

Stack Overflow用户
提问于 2013-01-30 10:25:00
回答 2查看 56关注 0票数 0

我有一个下面的代码来查找所有的学生名单

代码语言:javascript
复制
$fub = $this->Customer->find('all', array('conditions' => array('Customer.customers_types' => 'student')));

我有一个下面的代码来计算尝试测试的学生的数量。

代码语言:javascript
复制
$totalTests = $this->Customer->Test->find('count', array('conditions' => array('Test.customer_id' => $fub['Customer']['id'])));

$this->set('totalTests', $totalTests);

然而,我有不止一个客户是学生。如何使用$fub的结果并将其放入$totalTests条件中,以获得尝试测试的学生总数。

调试器::dump($fub);

代码语言:javascript
复制
array(
    array(),
    array(),
    array(),
    array(),
    array(),
    array()
)
EN

回答 2

Stack Overflow用户

发布于 2013-01-30 11:12:04

您可能应该使用[ CakePHPs counterCache ]。它会为您跟踪相关项目的数量。

票数 0
EN

Stack Overflow用户

发布于 2013-01-30 12:41:36

在您的计数中,查询您尝试的条件可能不匹配,并返回空数组

代码语言:javascript
复制
$fub['Customer']['id']

是空的。在您的count查询之前,首先调试$fub。我遵循的方法是将

代码语言:javascript
复制
$fub['customer']['id']

转换为一个变量,就像这样

代码语言:javascript
复制
$f = $fub['customer']['id']

在您的count查询和将此变量放入条件之前

代码语言:javascript
复制
$totalTests = $this->Customer->Test->find('count', array('conditions' => array('Test.customer_id' => $f)));

试试这个吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14595667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档