Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 09h24   #1
Membre régulier
 
Inscription : mars 2007
Messages : 225
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 225
Points : 86
Points : 86
Par défaut Unknown relation alias sfGuardUser

Bonjour, je tente de récupérer un objet en relation 1:1 mais malgré tous mes essais, le retour est toujours
Citation:
Unknown relation alias sfGuardUser
Voici le schéma:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
sfGuardUserProfile:
  actAs:
    Timestampable: ~
  columns:
    user_id:
      type: integer
      notnull: true
      unique: true
    ...
    validate:
      type: string(33)
  relations:
    User:
      class: sfGuardUser
      foreign: id
      local: user_id
      type: one
      onDelete: cascade
      foreignType: one
      foreignAlias: Profile
  indexes:
    validate:
      fields: [validate]
 
sfGuardUser:
  actAs: [Timestampable]
  columns:
    first_name: string(255)
    last_name: string(255)
   ...
  indexes:
    is_active_idx:
      fields: [is_active]
Bon, vous avez constaté que j'utilise le plugin sfForkedDoctrineApply. Voici mon DQL dans le sfGuardUserProfileTable.class.php:
Code :
1
2
3
4
5
6
7
 
$q = Doctrine::getTable('sfGuardUserProfile')
	->createQuery('j')
	->innerJoin('j.sfGuardUser u')
	->leftJoin('u.sfGuardPermission p')
	->where('p.name = ?', 'journaliste')
	->orderBy('j.firstname ASC');
Et ça donne le résultat que vous connaissez déjà. Je ne sais pas pourquoi mon innerJoin ne fonctionne pas.
etoileweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 09h35   #2
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
ta relation se nomme User et non sfGuardUser; ton DQL devient donc:
Code :
1
2
3
4
5
6
7
8
 
$q = Doctrine::getTable('sfGuardUserProfile')
	->createQuery('j')
	->innerJoin('j.User u')
	->leftJoin('u.sfGuardPermission p')
	->where('p.name = ?', 'journaliste')
	->orderBy('j.firstname ASC');
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 10h59   #3
Membre régulier
 
Inscription : mars 2007
Messages : 225
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 225
Points : 86
Points : 86
Ca a marché à 100%. Note que j'ai également dû faire ceci
Code :
1
2
3
4
5
6
$q = Doctrine::getTable('sfGuardUserProfile')
	->createQuery('j')
	->innerJoin('j.User u')
	->leftJoin('u.Permissions p')
	->where('p.name = ?', 'journaliste')
	->orderBy('j.firstname ASC');
Merci beaucoup.
etoileweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h27.


 
 
 
 
Partenaires

Hébergement Web