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

Doctrine2 PHP Discussion :

Problème à la récupération des objets associés


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut Problème à la récupération des objets associés
    bonsoir,

    j'ai un souci pour récupérer des objets associés. J'ai pourtant suivie la doc http://symfony.com/fr/doc/master/book/doctrine.html

    le contexte est à peu près la même que la doc, j'ai une entité fichier qui est liée à une entité type fichier. Le but étant de récupérer les données d'un fichier et donc le libellé du type fichier.

    Et c'est ici que je coince. J'arrive très bien à récupérer tout ce qui est lié au fichier ( nom du fichier, le path, la date) mais le libellé du type pas du tout.

    mon contrôleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Récupération de l'objet user connecté
    		$user = $this->get('security.context')->getToken()->getUser();
    		// Récupération de l'id du user connecté
    		$iduser = $user->getId();
    		// La requête affichant tout les fichiers liés à l'utilisateur connecté
    		$repository = $this->getDoctrine()
    			->getRepository('SpinnakerProBundle:Fichier');
    		$fichier = $repository->findByuser($iduser);
     
    		$NomType = $fichier->getTypefichier()->getNomTypeFichier();
     
    		// Affichage de la page 
    		return $this->get('templating')->renderResponse('SpinnakerProBundle:Pro:compte.html.twig',array(
    		 'fichier' => $fichier));
    symfony m'indique que la fonction getTypeFichier() ne peut pas être appelée sur un non-objet. donc si je comprend bien c'est pas sur "$fichier" mais je vois quoi mettre d'autre. Si vous pouviez m'éclairer sa serai sympa

    Merci d'avance

    Cordialement

  2. #2
    Membre expérimenté Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Par défaut
    findByUser ne te retourne pas un tableau ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut
    Je pense que si car ensuite dans ma vue je fais :
    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
    <h1>Liste des fichiers</h1>
    		<table>
    			<tr>
    				<th> Date de dépôt </th>
    				<th> Nom : </th>
    				<th> Type de fichier : </th>
    				<th> Nom du fichier : </th>
    				<th> Télécharger </th>
    			</tr>
    			{% for elem in fichier %}
    			<tr>
    				<td>{{ elem.dateDepot.format('j.M.Y') }}</td>
    				<td>{{ elem.nomFichier }}</td>
     
    			</tr>
    			{% else %}
    			<p>Aucune fichier n'a été trouvée.</p>
    			{% endfor %}
    		</table>
    et la date et le nom s'affiche bien.

  4. #4
    Membre expérimenté Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Par défaut
    Ben alors tu a ta réponse...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut
    je comprend ce que tu veux me dire, enfin j'espère. Mais sa résolve pas mon problème pour récupéré le libellé du type fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $NomType =$fichier->getTypefichier()->getNomTypeFichier();
    si $fichier c'est un tableau, effectivement je comprend l'erreur que symfony m'envoie en me disant que ma fonction ne peux se faire sur un nom-objet.

    du coup je vois pas quel objet je peux mettre?

  6. #6
    Membre expérimenté Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Par défaut
    ben si tes fichiers ont tous le même type tu peux toujours récupérer le type du premier fichier du tableau...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($fichier[0])){
       $NomType = $fichier[0]->getTypefichier()->getNomTypeFichier();
    }

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

Discussions similaires

  1. Récupération des objets d'une association bidirectionnelle
    Par mbenameur dans le forum Doctrine2
    Réponses: 5
    Dernier message: 28/12/2012, 17h49
  2. Réponses: 2
    Dernier message: 31/03/2006, 10h23
  3. Réponses: 3
    Dernier message: 06/10/2005, 17h46
  4. [hibernate]Problème de récupération d'objet...
    Par roxx62 dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/07/2005, 12h36
  5. Réponses: 8
    Dernier message: 12/05/2005, 09h16

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