How to iterate over a dataprovider object? I want to access the \'name\' field of each row returned and build a list. Can you help?
Table structure for table
If you need itarate large data collection and you worry about memory usage do this:
$dataProvider = new CActiveDataProvider('Categories');
$iterator = new CDataProviderIterator($dataProvider);
foreach($iterator as $category) {
print_r($category);
}
CDataProviderIterator allows iteration over large data sets without holding the entire set in memory.
some performance tests
Test Time (seconds) Memory (bytes) CDbDataReader 4.9158580303192 28339952 CActiveRecord::findAll() 5.8891110420227 321388376 CDataProviderIterator 6.101970911026 31170504