Skip to content

Read-Only Tracking Not Disabled (ARCH7054)

Key php.orm.readonly-tracking-not-disabled · Severity warning · Category orm

Loading display-only data as fully hydrated, change-tracked entities wastes memory and CPU. Not using a lighter read mode (Doctrine HYDRATE_ARRAY, Eloquent toBase) when one is available is wasteful.

<?php
// fully managed entities for a read-only listing
$users = $em->getRepository(User::class)
->createQueryBuilder('u')
->getQuery()
->getResult();
<?php
$users = $em->getRepository(User::class)
->createQueryBuilder('u')
->getQuery()
->getArrayResult(); // no tracking, lightweight read

Switch read-only queries to an array/read-only hydration mode.