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 :

Commande d'intégration des données [2.x]


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 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 22
    Par défaut Commande d'intégration des données
    Salut tout le monde,

    Voilà j'ai une ancienne base contenant des données que je dois transférer à la nouvelle base de données d'une structure différente. J'aimerai créer une commande symfony2 pour faire le travail. Je dois récupérer le contenu d'une table A de l'ancienne base à la table A de la nouvelle, puis dans la table A de l'ancienne base y a un champ refImage qui est lié à la table B de l'ancienne base. Cette table B contient des images tout simplement. Maintenant j'aimerai importé aussi la table B de l'ancienne base à la table B de la nouvelle tout en utilisant la même commande.
    Tout doit être lié, c'est-à-dire que chaque enregistrement de la table A doit avoir son lien vers l'image se trouvant dans la table B.
    Je ne sais pas comment m'y prendre, j'ai pas d'idée ou je n'arrive même pas à penser vu le nombre de travail que j'ai.

    Aidez moi et merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 22
    Par défaut
    Voilà j'ai réussi à faire la commande, j'arrive à stocker les données provenant de mon ancienne base de données à la nouvelle.

    Sauf que j'ai un problème ici :

    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
    if($test){
                        $newAthlete->setName($ath->getTitle());
                        $newAthlete->setDescription($ath->getDescription());
                        $newAthlete->setMedia($fid->getId());
     
                        $output->writeln('--------------------------------------');
                        $this->defaultEntityManager->persist($newAthlete);
                        if ($batchSize > 20){
                            $batchSize = 0;
                            $this->defaultEntityManager->flush();
                            $this->defaultEntityManager->clear();
                        } else {
                            $batchSize++;
                        }
                    }
                    $this->defaultEntityManager->flush();
    Le problème est dans cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $newAthlete->setMedia($fid->getId());
    L'ID provient de l'entité Media de Application\Sonata\MediaBundle\Entity\Media et ça ne stock pas et me donne cette erreur :

    [Symfony\Component\Debug\Exception\ContextErrorException]
    Catchable Fatal Error: Argument 1 passed to AppBundle\Entity\Per
    son::setMedia() must be an instance of Application\Sonata\MediaBundle\Entit
    y\Media, integer given


    Comment y remédier ?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Tes noms de variable ne sont pas très clairs, mais je pense que ceci devrait suffire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $newAthlete->setMedia($fid);

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Par défaut
    l 'erreur est très claire . la méthode :
    ne retourne pas l'objet attendu.
    vérifier le code de cette méthode .

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 22
    Par défaut
    Oui effectivement elle doit retourner un objet Media.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $newAthlete->setMedia($fid);
    Merci pour vos réponses. Problème résolu

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

Discussions similaires

  1. intégration des données
    Par sniperpro dans le forum Alimentation
    Réponses: 2
    Dernier message: 15/11/2013, 15h50
  2. [WD17] Intégration des données d'un fichier excel
    Par johan0510 dans le forum WinDev
    Réponses: 13
    Dernier message: 07/03/2013, 23h26
  3. SAP BO4 Intégration des données cyrilliques
    Par Irena12 dans le forum Webi
    Réponses: 0
    Dernier message: 30/11/2012, 10h13
  4. Intégration des données d'un jeu dans NetBeans
    Par Voyvode dans le forum NetBeans
    Réponses: 3
    Dernier message: 04/11/2009, 14h39

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