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 :

Catchable Fatal Error: Argument 1 passed to setApp() [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut Catchable Fatal Error: Argument 1 passed to setApp()
    Bonjour,

    J'ai une ligne de code dans mon controleur qui provoque une erreur : suite a l'appelle de la méthode setIdApp() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $entity = new Media();
    $entity->setIdApp($idPoi);
    $form   = $this->createForm(new MediaType(), $entity);
    Catchable Fatal Error: Argument 1 passed to ... Entity\Media::setApp() must be an instance of ... Entity\Application, string given, called in ... /Controller/MediaController.php on line 78 and defined in Entity/SuissePoiMedia.php line 198

    la fonction setIdApp dans Entity/Media :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function setIdApp(\Store\MyBundle\Entity\Application $idApp)
    {
    $this->idApp = $idApp;
    }
    En fait le but de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $entity->setIdApp($idPoi);
    c'est de passer une valeur vers un champ d'un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ->add('idApp', 'entity', array(
    'class' => 'StoreMyBundle:Application',
    'property' => 'id',
    'label'=> 'Application :'))
    J'ai essayé avec ça fonctionne mais pas avec Sachant que idApp de la table Media a une clé étrangère -> clé primaire id de la table application

    Quelqu'un peut m'aider a résoudre le soucis et pour que je puisse utiliser setIdApp.

    Merci

  2. #2
    Membre habitué Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Points : 177
    Points
    177
    Par défaut
    Comme le dit l'erreur tu dois envoyer une instance de Application et la tu lui envoi l'id.

    Donc récupère ton objet avec l'entity manager puis envoi la réponse comme paramètre de ton setIdApp.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    Oui je suis d'accord !! une question est ce que je peu utiliser setId () de l'entité l'Application au lieu de faire setIdApp de l'entité Media ?? et passer le paramètre vers le form de Media ???

  4. #4
    Membre habitué Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Points : 177
    Points
    177
    Par défaut
    Bah non l'usage est pas du tout le même,

    si tu fais un setId() de l'entité application tu vas changer l'id de l'application.

    Or ton setIdApp, va juste permettre de lier 2 entités.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    Ok Merci, et y a t il un moyen de passer le parametres $idPoi vers le champ "idPoi " du formulaire depuis mon controlleur ?? ou depuis ma vue a l'aide de Twig ??

  6. #6
    Membre habitué Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Points : 177
    Points
    177
    Par défaut
    Oui c'est possible mais va peut être falloir te creuser un peu les méninges parce qu'on va pas te filer du code tout cuit dans la bouche

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    T’inquiète je me débrouille dis as tu rencontrer ce genre d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expected argument of type "Doctrine\Common\Collections\Collection", "string" given
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expected argument of type "object", "string" given
    Merci.

  8. #8
    Membre habitué Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Points : 177
    Points
    177
    Par défaut
    Expected argument of type "Doctrine\Common\Collections\Collection", "string" given

    Ta fonction attend une Collection, tu lui envois une string;

    Expected argument of type "object", "string" given:

    Ta fonction attend un objet, tu lui envois une string.



    Après je sais pas si c'est volontaire ou pas, mais ce genre d'erreur est assez courant, donc faudrait quand même que tu commences a comprendre qu'elles sont la pour être lue.
    Parce que si tu commences à créer un topic pour chaque erreur, y a plus beaucoup de monde qui va y répondre.

    Donc faut peut être que tu commences a te creuser sérieusement le ciboulot ou que tu apprenne les base des langages de programmation.

  9. #9
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    Oui finalement fallait déclarer le type du champ. problème résolu et je te garantis que c'est du lourd !! y a pas d'aide même pas sur les forum de Symfony2 et ce problème reste non résolu sur la toile. du mois je m'en suis sorti

  10. #10
    Futur Membre du Club
    Homme Profil pro
    développeur des systèmes d'informations
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : développeur des systèmes d'informations
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Salut @aitiahcene je suis dsl pour le relancement du sujet mais je block sur le même problème et je veux savoir comment vous avez fait pour le résoudre merci de bien me répondre ^_^

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

Discussions similaires

  1. [2.x] Formulaire: Catchable Fatal Error: Argument 1 passed to
    Par oukacha dans le forum Symfony
    Réponses: 2
    Dernier message: 02/05/2012, 19h36
  2. [PEAR][File_dicom] Catchable fatal error?
    Par Eruvatar dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 27/02/2010, 13h28
  3. Catchable fatal error
    Par Tchupa dans le forum Langage
    Réponses: 2
    Dernier message: 17/03/2009, 09h24
  4. soucis Catchable fatal error: Object of class stdClass
    Par nimbus_77 dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2008, 09h45
  5. [Oracle] Catchable fatal error: (suite à une mise à jour en PHP 5.2)
    Par nyto-86 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/06/2008, 11h53

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