Merci c'est parfait !
j'ai migré de propel a doctrine cela ne fait que 4 jours que je
l'utilise et j'en suis extremement satisfait !
une derniere question,
malgrés les jointures que j'ai mis dans la requete, doctrine n'hydrate
pas les objet Personnel lié a id_professionnel et id_transporteur,
donc pour chaque élément récupéré il fait 2 requete, ai-je mal former
ma requete ?
REQUETE :
$q = Doctrine_Query::create()->from('ResidentAgenda ra');
$q->leftJoin('ra.Resident r');
$q->leftJoin('ra.Personnel p');
$q->leftJoin('ra.Personnel ip ON ra.id_professionnel =
ip.id_personnel');
$q->leftJoin('ra.Personnel it ON ra.id_transporteur =
it.id_personnel');
On 5 oct, 14:06, lionel chanson <[email protected]> wrote:
> Salut,
>
> Dans ta classe ResidentAgenda tu as les relations qui sont utilisées :
> tu dois avoir $this->hasOne('Personnel', array(....));
> Cela t'aidera à retrouver le getter pour les 2 autres
>
> Je pense que pour professionnel ou transporteur ce n'est pas
> getProfessionnel ou getTransporteur mais
> getPersonnel5() et getPersonnel6()
>
> Tu peux donner des alias dans ton schema pour utiliser
> getProfessionnel ou getTransporteur
> relations:
> Personnel_5:
> local: id_professionnel
> foreign: id_personnel
> type: one
> alias: Professionnel
>
> ++
>
> Le 5 octobre 2009 13:35, Pierre PERRIER <[email protected]> a écrit :
>
>
>
>
>
> > Petite precision,
>
> > je travail avec Doctine 1.0 Symfony 1.2 sur base de donnée PostgreSQL
> > 8.3 avec php 5.3
>
> > On 5 oct, 13:33, "Pierre ( Pido )" <[email protected]> wrote:
> >> Schema :
>
> >> ResidentAgenda:
> >> tableName: resident_agenda
> >> columns:
> >> id_resident_agenda:
> >> type: integer(4)
> >> primary: true
> >> sequence: resident_agenda_id_resident_agenda
> >> id_resident: integer(4)
> >> id_personnel: integer(4)
> >> id_professionnel: integer(4)
> >> id_transporteur: integer(4)
> >> relations:
> >> Personnel:
> >> local: id_personnel
> >> foreign: id_personnel
> >> type: one
> >> Resident:
> >> local: id_resident
> >> foreign: id_resident
> >> type: one
> >> Personnel_5:
> >> class: Personnel
> >> local: id_professionnel
> >> foreign: id_personnel
> >> type: one
> >> Personnel_6:
> >> class: Personnel
> >> local: id_transporteur
> >> foreign: id_personnel
> >> type: one
>
> >> le schema de la table Personnel n'a pas d'importance.
>
> >> $q = Doctrine_Query::create()->from('ResidentAgenda ra');
> >> $q->leftJoin('ra.Resident r');
> >> $q->leftJoin('ra.Personnel p');
> >> $q->leftJoin('ra.Personnel ip ON ra.id_professionnel =
> >> ip.id_personnel');
> >> $q->leftJoin('ra.Personnel it ON ra.id_transporteur =
> >> it.id_personnel');
>
> >> donc la a priori j'ai tout... sauf que je ne sais pas comment acceder
> >> a mon "Transporteur" ni "Professionnel"
> >> pour acceder a celui qui referencer par "id_personnel" aucun probleme
> >> $this->getPersonnel() cependant $this->getProfessionnel() ne
> >> fonctionne pas.
>
> >> Help !
>
> >> Merci d'avance.
>
> --
> Tu n'es pas content de ma réponse...
> Rendez-vous surhttp://iooooi.labrute.fr/
> Et crie VENGEANCE !!!!
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---