17-12-2015, 08:26 AM
De même si tu fais ça :
Et que la requête te retourne 10000 utilisateurs, tu n'as 10000 objets utilisateurs en mémoire que si tu parcours toute la collection.
Les objets sont construits à la volée durant l'itération pour une occupation mémoire minimale.
$query = $this->getQuery('SELECT id, name FROM user WHERE name = :name');
$query->setParams(['name' => 'Sylvain']);
$collection = $query->query();
foreach ($collection as $data) {
print_r($data);
}
Et que la requête te retourne 10000 utilisateurs, tu n'as 10000 objets utilisateurs en mémoire que si tu parcours toute la collection.
Les objets sont construits à la volée durant l'itération pour une occupation mémoire minimale.