我有以下代码:
$sites = $this->Sites->find()
->contain([
'Sitecategories',
'Sitedescriptions.Languages',
'Countries',
'Users'
])
->where([
'postcode LIKE' => $this->request->data['numero'] . '%'
])
->sortBy(function($row) { return substr($row->postcode, 0, 2); }, SORT_ASC);
调试($位点);显示:
object(Cake\Collection\Iterator\SortIterator) {
'count' => (int) 428
}
但我不明白如何访问该计数var。
我尝试访问$sites->count()
,但收到以下错误消息:
Error: You cannot issue a count on a Collection.
答案 0 :(得分:1)
另一种可能的解决方案是使用缓冲迭代器。
$collection = new Collection([1,2,3]);
$collection->count(); //throws exception
$collection->buffered()->count(); //gives 3
答案 1 :(得分:0)
您必须使用count($sites->toArray())
。