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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    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