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 03/11/2011, 04h47   #1
Invité régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 9
Points : 5
Points : 5
Par défaut requête Complexe relation n:n DQL

Bonsoir communauté,

je développe actuellement un annuaire web (en Symfony en utilisant Doctrine comme ORM) pour des cafés et restos et j'ai une recherche à mettre en place j'ai du mal à écrire la requête DQL qui feras le bouleau je vous explique mon schéma yml de ma base de données

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
35
36
37
38
39
40
41
42
Etablissement:
  actAs: 
    Timestampable: ~ 
    Sluggable: 
      unique:       true
      fields:       [name]
      canUpdate:    true
  columns:
    name:             { type: string(255), notnull: true }
    quartier_id:      { type: integer, notnull: true }
    budget_moyen:     { type: float, notnull: true}
    is_activated:     { type: boolean, notnull: true, default: 1 }
  relations: 
    Quartier:     { local: quartier_id, foreign: id, foreignAlias: Etablissements } 
    Services:
      class: Service
      refClass: ServiceEtablissement
      local: id_etablissement
      foreign: id_service  
 
Quartier:   
  columns:
    name:            { type: string(255), notnull: true }
 
Service:
  columns:
    name:                     { type: string(255), notnull: true }
    icon:                     { type: string(255), notnull: true }
  relations:
    Etablissements:
      class: Etablissement
      refClass: ServiceEtablissement
      local: id_service
      foreign: id_etablissement    
 
ServiceEtablissement:
  columns:
    id_service:               { type: integer, notnull: true }
    id_etablissement:         { type: integer, notnull: true }
  relations:
    Service:              { local: id_service, foreign: id, foreignAlias: ServiceEtablissements  }
    Etablissement:        { local: id_etablissement, foreign: id, foreignAlias: ServiceEtablissements }
comme vous pouvez le constater un établissement à plusieurs services genre wifi, payement par carte bancaire, cave à vins, diffusion des matchs de foot, livraison à domicile ... donc pour sélectionner un établissement qui se trouve dans tel quartier et qu'il soit équipé du wifi et il diffuse les matchs de foot

sachant que je suis sur Doctrine pour le faire j'ai écrit ceci ... (ptet que c'est une connerie )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function getSearchResult($quartier = NULL,$services = NULL)
	{
		$q = $this->createQuery('a')
		->leftJoin('a.ServiceEtablissements s');
 
		if ($quartier) $q->Where('quartier_id = ?',$quartier);
		if ($services)
		        {
				foreach ($services as $k)
				{
					$q->andWhere('s.id_service = ?',$k);
				}
			}
 
		return $q->execute();
	}
c'est dans la classe EtablissementTable que j'ai écris ceci

je sens que c'est pas très logique comme requête mais je vois pas comme m'y prendre ... merci d'avance
simolewestside est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web