2009-10-15 5 views
3

En travaillant avec Doctrine ORM, est-il possible d'activer le chargement automatique des notices associées lors de l'utilisation dans un getter? (Sans leftJoins explicites())doctrine orm: contournement du chargement paresseux et des enregistrements liés à la prélecture dans un getter

Je sais que je peux utiliser un leftJoin() pour obtenir l'objet avec des documents connexes, mais je veux éviter de créer une requête DQL pour chaque objet et ont simplement une sorte de automatique " préextraction "des documents connexes.

Ceci est utile lorsque vous devez faire défiler Doctrine_Records imbriqués et il est exactement la même fonctionnalité que Kohana ORM a travers l'instruction with():

http://docs.kohanaphp.com/libraries/orm#with

(Il exécute simplement la requête avec la joint même si vous obtenez seulement l'enregistrement 'root' avec la syntaxe du tableau).

Répondre

-1

Je ne suis pas sûr d'avoir compris mais vous pouvez trouver réponse dans doctrine doc:

$users->loadRelated('Phonenumbers'); 
+0

Cela ne fonctionnera pas pour le scénario décrit. La première collection d'utilisateurs doit être chargée (première requête sql), après que loadRelated chargera Phonenumbers pour tous les utilisateurs chargés (deuxième requête sql). Bon à savoir, mais ce n'est pas la réponse ... – zidane