问题描述
在使用以前有效的代码迁移到Phalcon v3之后,我使用的Phalcon很少,并且在某些代码上遇到了麻烦。
foreach($this->facets as $k => $facet) {
$facets[$facet] = $results->getNext()->fetchAllAssoc();
}
现在的问题是,我可以看到,当$ results-> getNext()返回结果为空且num_rows为0的对象时,链接的fetchAllAssoc()会给出异常。
如何重新编码此代码,以便除非getNext()返回有效结果,否则fetchAllAssoc()不会完成?
解决方法
这就是我最终要做的。可能不是一个很好的解决方案,但它可以工作。我很高兴看到改进建议。
foreach($this->facets as $k => $facet) {
$tmp_result = $results->getNext();
$has_row_to_fetch = $results->valid();
if (!$has_row_to_fetch) {
break;
}
$facets[$facet] = $tmp_result->fetchAllAssoc();
//$facets[$facet] = $results->getNext()->fetchAllAssoc();
}