Il semble que lorsque j'oublie de mettre leftJoin dans mes requêtes, Doctrine va charger les relations après les avoir sélectionnées. Autrement dit, si je fais quelque chose comme:Doctrine: Propriétés de chargement paresseux
$property = PropertyTable::getInstance()->createQuery('o')
->leftJoin('o.Features f')
->execute() ;
je encore en mesure d'accéder $ BIENS> Attraction, même si je ne les ai pas charger dans cette requête. Donc je suppose que Doctrine le fait en interne en appelant un autre 'SELECT'. Est-il possible d'empêcher ce chargement automatique en lançant une exception? Cela m'aiderait à créer des requêtes meilleures et plus rapides.
Oui, j'ai essayé ça et non, ça ne charge pas les attractions. Mais je suis capable d'y accéder via $ property-> Attraction. Je voudrais qu'une exception soit lancée afin que je ne puisse pas me tromper lorsque j'écris une requête. Comme je fais de très gros programmes, il est très facile de sauter quelque chose comme ça. – Zeljko
Je crois que vous pouvez y accéder car il déclenche une nouvelle requête, et c'est donc un comportement voulu. Je pense que la solution ici n'est pas le changement de la machine, mais de faire plus attention à la façon dont vous utilisez la machine. – Tom
Oui, mais l'idée est d'empêcher l'extraction automatique. Il est très facile de ne pas participer au développement rapide de grands programmes. – Zeljko