Использование CDataProviderIterator

Начиная с версии 1.1.13 в Yii появилась возможность работать с большими наборами моделей ActiveRecord посредством итератора. Это позволяет значительно уменьшить потребления памяти. Использовать итератор легко и просто:

// создаем критерий
$criteria = new CDbCriteria();
$criteria->addCondition('status = 1');

// создаем DataProvider, использующий критерий
$provider = new CActiveRecordProvider('User', ['criteria' => $criteria]);

// создаем итератор и обходим результирующую выборку 
$iterator = new CDataProviderIterator($provider);
foreach ($iterator as $user) {
    ...
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *