Cakephp 将查询结果遍历到while循环中
我想使用while()循环来遍历结果集,而不是最常见的foreach() 例如,如果我有以下代码: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()循环来实现您试图
$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();
}