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

Cakephp 将查询结果遍历到while循环中,cakephp,orm,iterator,resultset,cakephp-3.x,Cakephp,Orm,Iterator,Resultset,Cakephp 3.x,我想使用while()循环来遍历结果集,而不是最常见的foreach() 例如,如果我有以下代码: $articles = $this->Articles->find(); foreach ($articles as $article) { echo $article->name; } 如何使用while循环访问$articles行 我已经尝试使用next()或$articles->next()遍历它,但没有成功。我不确定您是否真的需要使用while()循环来实现您试图

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

例如,如果我有以下代码:

$articles = $this->Articles->find();
foreach ($articles as $article) {
   echo $article->name;
}
如何使用while循环访问$articles行


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

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


另请参见

为什么要这样做?我需要执行一个控制中断逻辑()老式?:)我明白了,但是如果使用
foreach
循环,这难道不可能吗?在任何情况下,如果适用,我可能会建议使用结果集分组功能。谢谢你的回答,我也在尝试分组方法。
$query = $this->Articles->find();
$resultSet = $query->all();

while ($resultSet->valid()) {
    $article = $resultSet->current();
    // ...
    $resultSet->next();
}