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 :

Concaténation de 2 objets PersistantCollection [4.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 109
    Par défaut Concaténation de 2 objets PersistantCollection
    Bonjour,

    Voila je rencontre un petit problème avec mon code.

    ### Ce que je fais

    Je récupere les clients d'un utilisateur, puis les véhicules de chaque client. Puis j'essayes de mettre tous les véhicules dans la varable $véhicules.

    ```
    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
     
    /**
         * @Route("/", name="accueil")
         */
        public function index()
        {
          //récuperation des clients de l'utilisateur
          $clients = $this->getUser()->getClients();
          //récupération de entitymanager
          $entityManager = $this->getDoctrine()->getManager();
          //nouvelle instance de PsersistentCollection
          $vehicules = new PersistentCollection($entityManager, Vehicule::class, $vehicules = new Collection()); //erreur ici
          foreach($clients as $client)
          {
            // on ajoute toutes les vehicules de tous les clients dans l $vehicules
            $vehicules->add($client->getVehicules());
          }
            return $this->render('follo_car_service/index.html.twig', [
                'vehicules' => $vehicules,
            ]);
        }
    ```

    ### Ce que je veux

    Je recherche un moyen de concaténer 2 objets PersistantCollection mais Symfony me jete une erreur comme quoi je ne peux pas car il y a une erreur dans l'instance Collection.

    ### Ce que j'obtiens

    J'obtiens une erreur me disant que je ne peux pas instancier une Collection car il manque un statement.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    Je ne connais pas ce que vous essyaez de faire, mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $vehicules = new PersistentCollection($entityManager, Vehicule::class, $vehicules = new Collection());
    vous utilisez deux fais la variables $vehicules, une fois pour instancier votre PersistentCollection et une fois pour créer une collection, cela me semble problématique (ou pas).
    dans la doc de Doctrine on peux lire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    __construct(EntityManagerInterface $em, ClassMetadata $class, Collection $collection)
    donc j'aurais tendance à faire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $collection = new Collection();
     //nouvelle instance de PsersistentCollection
    $vehicules = new PersistentCollection($entityManager, Vehicule::class, $collection);

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 109
    Par défaut Erreur interface
    Bonjour et merci pour votre réponse,
    J'ai essayé sans grand espoir car il me semble que les deux code sont équivalent mais sait on jamais....enfin merci d'avoir tenté.
    J'ai la même erreur que la dernière fois qui est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot instantiate interface Doctrine\Common\Collections\Collection
    Alors avec tout hasard j'ai essayé d'implementé dans le controleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use Doctrine\Common\Collections\CollectionInterface
    (qui n'existe peut être pas d'après Google.
    Même si vous n'avez que des pistes, des conseils, une idée je vous remerci de votre aide.
    C'est un projet qui me tient beaucoup à coeur étant un simpe étudiant en 1er année de DUT.

    D'autres pistes ?

    Merci

    Vincent

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    si on suit le souci ici : https://stackoverflow.com/questions/...ons-collection
    il y aurait un problème dans la façon de joindre les tables (OneToMany), à explorer.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 109
    Par défaut OneToMany une erreur ?
    Je ne crois pas qu'il y ait d'erreur pour la simple raison que c'est le framework symfony 4 qui l'a généré, et de souvenir je n'ai pas eu besoin d'adapter.
    Merci pour le suivi de la discusion sur stackoverflow mais cela ne répond pas totalement à ma problématique. Je suis toujours dans le flou.
    Mais en tout cas merci beaucoup de votre aide.
    Si vous avez d'autre piste je suis tout a fait preneur ?

    VIncent

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Pouvez-vous me dire ce que retourne ce code

    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
     
    /**
         * @Route("/", name="accueil")
         */
        public function index()
        {
          //récuperation des clients de l'utilisateur
          $clients = $this->getUser()->getClients();
          //récupération de entitymanager
          $entityManager = $this->getDoctrine()->getManager();
          //nouvelle instance de PsersistentCollection
          $vehicules = new PersistentCollection($entityManager, Vehicule::class, $vehicules = new Collection());
          var_dump($vehicules);
    die();
     
        }
    Car tout ce que je lis, l'erreur ne serait pas du à l'instanciation.

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

Discussions similaires

  1. Concaténation de deux objets
    Par tunis71187 dans le forum Deski
    Réponses: 0
    Dernier message: 15/12/2011, 16h29
  2. Réponses: 12
    Dernier message: 17/01/2008, 11h46
  3. Concaténation de plusieurs champs dans un objet
    Par bastoonet dans le forum Débuter
    Réponses: 3
    Dernier message: 27/09/2006, 11h13
  4. [AJAX] Concaténer 2 objets HttpRequest
    Par Braz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/06/2006, 13h45
  5. Réponses: 1
    Dernier message: 30/12/2005, 10h57

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