Lazy Collections
To create a lazy collection you can extend the
Doctrine\Common\Collections\AbstractLazyCollection class
and define the doInitialize method. Here is an example where
we lazily query the database for a collection of user records:
use Doctrine\DBAL\Connection;class UsersLazyCollection extends AbstractLazyCollection{ /** @var Connection */ private $connection; public function __construct(Connection $connection) { $this->connection = $connection; } protected function doInitialize() : void { $this->collection = $this->connection->fetchAll('SELECT * FROM users'); }}
