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 :

jointure sous symfony [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Par défaut jointure sous symfony
    salam tous le monde
    d'abord je travail avec doctrine et sf 1.4
    s'il vous plait j'ai une jointure entre de table 'article' et 'creat_article' et je veux afficher les colonnes de la premier table et faire une jointure pour afficher une autre colonne dans la deuxième table
    voila le code que j'ai fait dans l'action.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
     
    public function executeIndex(sfWebRequest $request)
      {
        $this->articles = Doctrine_Query::create()
           ->select('a.*, c.date_creat')
     
    	  ->from('Article a, a.CreatArticle c')
            //->where('c.date_creat > ?', date('Y-m-d H:i:s', time() - 86400 * 30));
     
          ->execute();
     
     
      }
    pour recupérer ces données j'ai fait le code suivant

    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
    <?php foreach ($articles as $article): ?>
     
            	   <span class="custom_image">
    			<img src="uploads/produits/<?php echo $article->getImage() ?>" alt="<?php echo $article->getLibelle() ?>" title="<?php echo $article->getLibelle() ?>"/>
    			</span>
    <p class="desc">
     
             <?php echo $article->getDescription() ?></p>
              <p class="spec"><a href="#" class="rm">Plus</a> &nbsp;|&nbsp; <a href="#" class="com">Commenter </a> &nbsp;|&nbsp; <span class="date">
     
    <?php echo $article->CreatArticle()->getDateCreat()  ?></span></p>
            </div>
     
     
        <?php endforeach; ?>
    mais ça marche pas il m'affiche ecran banc ni le resultat demandé ni ou il existe l'erreur
    et merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Par défaut
    C'est ta jointure qui est mal faite.
    Tu as pas fait la liaison entre les deux tables du coup il te retourne aucun enregistrement.

    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
     
     
    public function executeIndex(sfWebRequest $request)
      {
        $this->articles = Doctrine_Query::create()
           ->select('a.*, c.date_creat')
     
    	  ->from('Article a, a.CreatArticle c')
              // il manque quelque chose du genre
              ->where('a.id_article = c.id_article')
              ->where('c.date_creat > ?', date('Y-m-d H:i:s', time() - 86400 * 30));
     
          ->execute();
     
     
      }

    tu peux aussi utiliser la fonction leftJoin() pour faire une jointure

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Par défaut
    merci pour votre reponse
    mais meme si j'ai changer la formule de la requete la date ne s'affiche pas
    je pense que l'erreur existe aussi dans la methode de recuperation des données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article->CreatArticle()->getDateCreat()  ?>
    j'ai changé cette mathode avec un autre qui est dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article['CreatArticle']['date_creat']  ?>

    mais il m"aaffiche cette erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No description for object of class "CreatArticle"

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Par défaut
    Citation Envoyé par goood Voir le message
    merci pour votre reponse
    mais meme si j'ai changer la formule de la requete la date ne s'affiche pas
    je pense que l'erreur existe aussi dans la methode de recuperation des données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article->CreatArticle()->getDateCreat()  ?>
    j'ai changé cette mathode avec un autre qui est dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article['CreatArticle']['date_creat']  ?>

    mais il m"aaffiche cette erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No description for object of class "CreatArticle"

    C'est normal qu'il affiche une erreur parce que


    renvoi un objet et pas un tableau

    essayez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article->CreatArticle->getDateCreat()  ?>
    ( il ne faut pas de paranthèse apres CreatArticle)

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Par défaut
    Citation Envoyé par Joauc Voir le message
    C'est normal qu'il affiche une erreur parce que


    renvoi un objet et pas un tableau

    essayez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article->CreatArticle->getDateCreat()  ?>
    ( il ne faut pas de paranthèse apres CreatArticle)


    merci , mais apres que que j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $article->CreatArticle->getDateCreat()  ?>
    il m'a rien donnée ni erreur ni la date que je cherche a l'affiché le champ est vide
    est ce que je doit integré quelque chose dans les models ou les actions ??

    merci beaucoup de m'avoir aidé

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Par défaut
    il faudrait connaitre la structure sous laquelle est renvoyée la date.
    Peut être qu'il renvoie directement la date je ne sais plus trop comment fonctionne .

    qu'est-ce que tu obtiens quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php var_dump($article)?>
    ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jointure sous Interbase
    Par sitaleb dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/02/2008, 18h16
  2. Jointure sous MySQL
    Par zebiloute dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2007, 18h49
  3. requete et jointure sous access
    Par sapic dans le forum Access
    Réponses: 4
    Dernier message: 03/04/2006, 12h21
  4. requete de jointure sous delphi
    Par kaouther dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/12/2005, 11h22
  5. Encore une jointure sous Oracle pour la route
    Par ebaynaud dans le forum Langage SQL
    Réponses: 15
    Dernier message: 04/11/2004, 11h40

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