将查询结果遍历到 while 循环中



我想使用 while(( 循环而不是最常见的foreach((历结果集

例如,如果我有此代码:

$articles = $this->Articles->find();
foreach ($articles as $article) {
echo $article->name;
}

如何使用 while 循环访问$articles行?

我已经尝试使用 next(( 或$articles->next((遍历它,但没有成功。

我不确定您是否真的需要使用while()循环来实现您要实现的目标,但要回答这个问题,您必须首先获取结果集,然后将其Iterator::valid()实现用于循环条件,这是获取当前结果的地方,然后您可以通过current()访问它。然后使用next()完成前进光标。

$query = $this->Articles->find();
$resultSet = $query->all();
while ($resultSet->valid()) {
$article = $resultSet->current();
// ...
$resultSet->next();
}

另请参阅API> \Cake\ORM\ResultSet

相关内容

  • 没有找到相关文章

最新更新