所以我试图设置 cakePHP 提供的 afterFind 函数来确定查询是否返回任何结果。
在测试调试输出时,这是我收到的:
Warning (2): Invalid argument supplied for foreach() [APP/Model/Form.php, line 70]
app/Model/Form.php (line 71)
'0'
这种行为似乎很奇怪,因为它告诉我我正在提供和我的 foreach 循环中提供的无效争论,但同时它能够确定 0 是数据库上查询的正确计数。
这是位于我的 Form.php 模型中的以下函数。
public function afterFind($results, $primary = true){
foreach ($results as $key => $val) {
debug($val[0]['count']);
}
}
我试图这样做是因为在我的控制器中我试图对结果进行分页,但是如果结果的计数为 0,那么我想要 $this->Session->Setflash();
据我所知,该$this->Form->Find()
函数可以计算结果的总数。
计数能力不适用于$this->paginate('Form)
ex. $this->paginate('count', 'Form');]
有没有其他方法可以做到这一点?