0

我不经常使用 Phalcon,并且在使用以前工作的代码迁移到 Phalcon v3 后,我在一些代码上遇到了一些问题。

foreach($this->facets as $k => $facet) {
    $facets[$facet] = $results->getNext()->fetchAllAssoc();
}

现在的问题是我可以看到,当 $results->getNext() 返回一个结果为空且 num_rows 为 0 的对象时,链接的 fetchAllAssoc() 会给出异常。

我该如何重新编码,以便 fetchAllAssoc() 不完成,除非 getNext() 返回有效结果?

4

1 回答 1

0

这就是我最终做的。可能不是一个非常优雅的解决方案,但它确实有效。我很高兴看到改进它的建议。

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();
}
于 2020-10-07T07:38:37.623 回答