IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Probléme au niveau d'une requête DQL


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Points : 13
    Points
    13
    Par défaut Probléme au niveau d'une requête DQL
    Bonjour la communauté,

    je revient vers vous pour un souci au niveau d'une requête DQL, en voici en dessous les données :

    ============================/ schema.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Film:  
          tableName:  film
          actAs:  
            Timestampable:  ~
            Sluggable:  
               unique:  true
               fields:  [titre]
               canUpdate:     true
          columns:  
               titre:  {type:  string(255)} 
               date_sortie:  {type:  date, past:  true} 
               affiche:  {type:  string(255)}
               synopsis:  {type:  string}
               realisateur:  {type:  string(255)}
               genre_id:  {type:  integer, notnull:  true}
               duree:  {type:  string(255)}
          relations:  
                 Annuaire_pros:  { local:  film_id, foreign:  annuaire_pro_id, class:  Annuaire_pro, refClass:  Casting_equipe, foreignAlias:  Casting_equipes}
     
    Casting_equipe:  
          tableName:  casting_equipe
          actAs:  
            Timestampable:  ~
          columns:  
              film_id:  {type:  integer, notnull:  true}
              annuaire_pro_id:  {type:  integer, notnull:  true}
          relations:  
             Film:         {foreign:  id, foreignAlias:  Casting_equipes, local:  film_id}
             Annuaire_pro:  {foreign:  id, foreignAlias:  Casting_equipes, local:  annuaire_pro_id}
     
    Annuaire_pro:  
          tableName:  annuaire_pro
          actAs:  
            Timestampable:  ~
            Sluggable:  
               unique:  true
               fields:  [nom]
               canUpdate:     true
          columns:  
              nom:  {type:  string, notnull:  true}
              img:  {type:  string(255)}
              tel:  {type:  string, notnull:  true}
              fax:  {type:  string, notnull:  true}
              site:  {type:  string, notnull:  true}
              email:  { type:  string(255), unique:  true, email:  true }
              adresse:  {type:  string, notnull:  true}
              entreprise:  { type:  boolean, notnull:  true, default:  0 }
              portfolio:  {type:  string, notnull:  true}
              ville_id:  {type:  integer, notnull:  true}
              user_id:  {type:  integer}
          relations:  
             Films:  { local:  annuaire_pro_id, foreign:  film_id, class:  Film, refClass:  Casting_equipe, foreignAlias:  Casting_equipes}
             Categorie_annuaires:  {local:  annuaire_pro_id, foreign:  categorie_annuaire_id, class:  Categorie_annuaire, refClass:  Pro_categorie}
     
    Categorie_annuaire:  
          tableName:  categories_annuaire
          actAs:  
            Timestampable:  ~
            Sluggable:  
               unique:  true
               fields:  [cat_nom]
               canUpdate:     true
          columns:  
              cat_nom:  {type:  string(255), notnull:  true}
          relations:  
             Annuaire_pros:  { local:  categorie_annuaire_id, foreign:  annuaire_pro_id, foreignAlias:  Pro_categorie, class:  Annuaire_pro, refClass:  Pro_categorie}          
     
    Pro_categorie:  
          tableName:  pro_categorie
          actAs:  
            Timestampable:  ~
            Sluggable:  
               unique:  true
               fields:  [annuaire_pro_id, categorie_annuaire_id]
               canUpdate:     true
          columns:  
              annuaire_pro_id:  {type:  integer, notnull:  true}
              categorie_annuaire_id:  {type:  integer, notnull:  true}
          relations:  
             Annuaire_pro:  {foreign:  id, foreignAlias:  Pro_categories, local:  annuaire_pro_id}
             Categorie_annuaire:  {foreign:  id, foreignAlias:  Pro_categories, local:  categorie_annuaire_id}
    =======================================/ Explication
    Comme vous avez pu lire sur le schéma se sont 5 tables dont trois principales et deux intermédiaires c'est des personnes (Annuaire_pro) qui ont fait des apparition dans des films (Film) et puis ces personne sont catégorisé (Categorie_annuaire) selon leur métiers


    =====================================/ requette SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT nom,img, titre, cat_nom
    FROM film 
    inner join casting_equipe on film.id = casting_equipe.film_id 
    inner  join annuaire_pro on casting_equipe.annuaire_pro_id = annuaire_pro.id
    inner  join pro_categorie on pro_categorie.annuaire_pro_id = annuaire_pro.id	
    inner  join categories_annuaire on pro_categorie.categorie_annuaire_id = categories_annuaire.id
    where film.id = 1
    and cat_nom="Acteur"
    Chose qui fonctionne

    ==================================/ Requette DQL
    /**********www/sitename/lib/model/FilmTable.class.php************/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public function getFilmActeurs($id)
        {
        	$q = $this->createQuery('a')
        	->select('nom', 'img')
        	->from('Film')
        	->innerJoin('Casting_equipe')
        	->innerJoin('Annuaire_pro')
        	->innerJoin('Pro_categorie')
        	->innerJoin('Categorie_annuaire')
        	->where('film.id = ?', $id)
        	->andWhere('cat_nom = "Acteur"')
        	->execute();
            return $q;
        }
    et pourtant ça marche pas !!



  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Points : 178
    Points
    178
    Par défaut
    heu qu'est ce qui ne marche pas ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/03/2008, 20h16
  2. [Oracle] Problème au niveau d'une requête et de l'utilisation de son résultat
    Par LethaL86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/09/2007, 14h31
  3. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16
  4. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  5. problème de formulation d'une requête
    Par seiryujay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/08/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo