lire les objets a persisté mais pas encore rincé avec la doctrine
Je suis nouveau sur symfony2 et doctrine.
voici le problème que je le voir.
je ne peux pas utiliser :
$repository = $this->getDoctrine()->getRepository('entity');
$my_object = $repository->findOneBy($index);
sur un objet qui est conservé, MAIS ne disparaît PAS ENCORE !!
je pense que getRepository lire à partir de DB, donc il ne trouvera pas un non-rincé objet.
ma question: comment faire pour lire ces objets qui sont persistantes (je pense qu'ils sont quelque part dans une "doctrine de la session") afin de les utiliser de nouveau avant de me faire rincer la totalité de mon lot ?
chaque profil dispose de 256 physique des panaches.
chaque profil a 1 plumeOptions
enregistrement assigné.
Dans plumeOptions
j'ai un cartridgeplume qui est un FK pour PhysicalPlume
.
chaque plume est identifié par ID
(auto-générée) et un INDEX
(généré par l'utilisateur).
règle: je dis profil 1 a physical_plume_index
numéro 3 (=index) est connecté.
maintenant, je veux copier un profil avec toutes ses données associées à un autre profil.
nouveau profil est créé. Nouvelle 256 panaches sont créés et copié à partir d'anciennes profil.
je veux relier le nouveau profil de la nouvelle plume les index 3.
vérifier ici: http://pastebin.com/WFa8vkt1
source d'informationauteur xeon
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez avoir un coup d'oeil à cette fonction:
Vous donne une liste d'objets de l'entité qui persistent encore.
Hmm, je n'ai pas vraiment lu votre question, le ci-dessus vous permettra de récupérer une liste complète (comme un tableau), mais vous ne pouvez pas l'interroger comme avec getRepository. Je vais essayer de trouvé quelque chose pour u..
Je pense que vous pourriez regarder le problème sous le mauvais angle. La Doctrine est votre persistance de la couche de base de données et la couche d'accès. Il est de la responsabilité de votre modèle de domaine pour fournir l'accès à des objets une fois qu'ils sont dans la mémoire. Donc, le problème se résume à
how do you get a reference to an object without the persistance layer
?Où vous créez l'objet dont vous avez besoin pour obtenir de plus tard? Cette méthode peut-elle/service de créer l'objet de retour d'une référence à la manette, donc il peut se propager à l'autre endroit où vous en avez besoin? Pouvez-vous distribuer un événement que vous écoutez ailleurs dans votre application pour s'emparer de l'objet?
À mon avis, la Doctrine doit être utilisé au démarrage de l'application (dès que possible), pour initialiser le modèle de domaine, et à l'arrêt de l'application, de persister, de toute modification du modèle de domaine lors de la demande. L'utilisation d'un référentiel de se procurer des objets au moyen d'une demande est, à mon avis, probablement une odeur de code et vous devriez regarder comment le flux de l'application peut être remaniée pour supprimer ce besoin.
Votre est une logique d'entreprise de problème.
L'interrogation en bas de la Base de données d'une findby Requête sur l'Objet qui ne sont pas vidées encore, les moyens de soulèvement beaucoup plus de la DB de la couche d'interrogation de l'objet que vous avez déjà dans votre domaine de la fonction.
Également Garder à l'esprit un findOneBy permettra de récupérer aussi d'autres objets précédemment enregistré avec les mêmes caractéristiques.
Si vous avez besoin de trouver uniquement chez les nouveaux objets créés, vous devriez faire f.e. dans un Tableau de Session Variable, et les réitérer avec le foreach.
Si vous avez besoin d'un mélange de déjà les éléments enregistrés + quelques nouveaux articles, vous devriez threate les 2 parties séparément, l'une avec un foreach , l'autre avec le dépôt de la requête!