Comment connecté doctrine avec des class externes:
Code:
1
2
3
4
5
6
7 class monTraitement { public function calcul(){ //sql <-ici faire une requete } }
Version imprimable
Comment connecté doctrine avec des class externes:
Code:
1
2
3
4
5
6
7 class monTraitement { public function calcul(){ //sql <-ici faire une requete } }
Les requetes particulieres; c'est à dire des requetes plus compliquées que simplement récupérer une(des) entité(s) doivent se définir dans un repository modifié.
Je t'invite à lire ceci:
http://www.doctrine-project.org/docs...h-objects.html
Oui, effectivement.
Seulement je voulais dire autre que dans les class repository.
Avant on passée comme ceci:
et maintenant lorsque je me trouve dans ma librairie spécifique,Code:Doctrine::getTable('Client')->maRequete();
je fais comment pour faire ma requête vers le repository ?
Je crois qu'il faut que tu revois la définition d'un ORM. Si tu veux faire simplement des requêtes SQL, PHP a déjà tout ce qu'il faut.
PS : cf mon message dans l'autre topic.
Bon,
j'ai un système de class étendu qui exécute un traitement lourd avec doctrine1,
si doctrine2 est incapable d’exécuter une requête autre que dans les repository et dans l'action. Ou se trouve l’intérêt.
une solution serait de faire suivre le controller dans la bibliothèque de traitement (ligne 5):Code:
1
2
3
4
5
6
7
8
9
10
11 public function indexAction() { $user = //sql avec repository $traitement = new ApparenceGabarit(array('controller' => $this)); $traitement->iniGestionSession(); $traitement->iniApparenceGabarit('edition'); $affichage = $traitement->getCode(); return array('user' => $user, 'affichage' => $affichage); }
un extrait de ApparenceGabarit:
mais je sais pas si il existe une autre solution.Code:
1
2
3
4
5
6 class ApparenceGabarit extends GestionSession { public function iniGestionSession(){ //une requete utilisant le repository $this->controller->getDoctrine()->getRepository(......)... } }
faut juste me dire comment faire pour accéder au requête de repository dans mes class de traitement, remplacer Doctrine::getTable('Client).