Partage
  • Partager sur Facebook
  • Partager sur Twitter

Symfony2 : Catchable Fatal Error: Argument 1 passed to

Liaison simple de formulaires

    9 décembre 2012 à 3:12:18

    Bonjour et merci pour tout ce que vous faites,

    En suivant le tuto sur Symfony2, lorsque j'essaye de relier 2 formulaires, je rencontre l'erreur suivante :

    Catchable Fatal Error: Argument 1 passed to SioPrevot\BlogBundle\Entity\Article::setImage() must be an instance of SioPrevot\BlogBundle\Entity\Image, array given, called in C:\xampp\htdocs\Symfony\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 347 and defined in C:\xampp\htdocs\Symfony\src\SioPrevot\BlogBundle\Entity\Article.php line 203

    Voici mon code :

    <?php

    namespace SioPrevot\BlogBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;
    //name="sioprevot_article"
    /**
    * SioPrevot\BlogBundle\Entity\Article
    *
    * @ORM\Table()
    * @ORM\Entity(repositoryClass="SioPrevot\BlogBundle\Entity\ArticleRepository")
    */
    class Article
    {
    /**
    * @var integer $id
    *
    * @ORM\Column(name="id", type="integer")
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $id;

    /**
    * @var datetime $date
    *
    * @ORM\Column(name="date", type="datetime")
    */
    private $date;

    /**
    * @var string $titre
    *
    * @ORM\Column(name="titre", type="string", length=255)
    */
    private $titre;

    /**
    * @var string $auteur
    *
    * @ORM\Column(name="auteur", type="string", length=255)
    */
    private $auteur;

    /**
    * @var text $contenu
    *
    * @ORM\Column(name="contenu", type="text")
    */
    private $contenu;

    /**
    * @ORM\Column(name="publication", type="boolean")
    */
    private $publication;

    /**
    * @ORM\OneToOne(targetEntity="SioPrevot\BlogBundle\Entity\Image", cascade={"persist"})
    * @ORM\JoinColumn(nullable=true)
    */
    private $image;

    /**
    * @ORM\OneToMany(targetEntity="SioPrevot\BlogBundle\Entity\Commentaire", mappedBy="article")
    */
    private $commentaires;

    /**
    * @ORM\ManyToMany(targetEntity="SioPrevot\BlogBundle\Entity\Categorie", cascade={"persist"})
    */
    private $categories;

    /**
    * @ORM\ManyToMany(targetEntity="SioPrevot\BlogBundle\Entity\Tag")
    */
    private $tags;

    //La définition des attributs
    public function __construct()
    {
    $this->date = new \Datetime(); //date d'aujourd'hui par défaut
    $this->publication = true;
    $this->categories = new \Doctrine\Common\Collections\ArrayCollection();
    $this->commentaires = new \Doctrine\Common\Collections\ArrayCollection();
    $this->tags = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
    * Get id
    *
    * @return integer
    */
    public function getId()
    {
    return $this->id;
    }

    /**
    * Set date
    *
    * @param datetime $date
    */
    public function setDate($date)
    {
    $this->date = $date;
    }

    /**
    * Get date
    *
    * @return datetime
    */
    public function getDate()
    {
    return $this->date;
    }

    /**
    * Set titre
    *
    * @param string $titre
    */
    public function setTitre($titre)
    {
    $this->titre = $titre;
    }

    /**
    * Get titre
    *
    * @return string
    */
    public function getTitre()
    {
    return $this->titre;
    }

    /**
    * Set auteur
    *
    * @param string $auteur
    */
    public function setAuteur($auteur)
    {
    $this->auteur = $auteur;
    }

    /**
    * Get auteur
    *
    * @return string
    */
    public function getAuteur()
    {
    return $this->auteur;
    }

    /**
    * Set contenu
    *
    * @param text $contenu
    */
    public function setContenu($contenu)
    {
    $this->contenu = $contenu;
    }

    /**
    * Get contenu
    *
    * @return text
    */
    public function getContenu()
    {
    return $this->contenu;
    }

    /**
    * Set publication
    *
    * @param boolean $publication
    */
    public function setPublication($publication)
    {
    $this->publication = $publication;
    }

    /**
    * Get publication
    *
    * @return boolean
    */
    public function getPublication()
    {
    return $this->publication;
    }

    /**
    * Set image
    *
    * @param SioPrevot\BlogBundle\Entity\Image $image
    */
    public function setImage(\SioPrevot\BlogBundle\Entity\Image $image = null)
    {
    $this->image = $image;
    }

    /**
    * Get image
    *
    * @return SioPrevot\BlogBundle\Entity\Image
    */
    public function getImage()
    {
    return $this->image;
    }

    public function setCategories($categories)
    {
    $this->categories = $categories;
    }

    /**
    * Add categories
    *
    * @param SioPrevot\BlogBundle\Entity\Categorie $categories
    */
    public function addCategorie(\SioPrevot\BlogBundle\Entity\Categorie $categories)
    {
    $this->categories[] = $categories;
    }

    /**
    * Remove categories
    *
    * @param SioPrevot\BlogBundle\Entity\Categorie $categories
    */
    public function removeCategorie(\SioPrevot\BlogBundle\Entity\Categorie $categorie)
    {
    $this->categories->removeElement($categorie);
    }

    /**
    * Get categories
    *
    * @return Doctrine\Common\Collections\Collection
    */
    public function getCategories()
    {
    return $this->categories;
    }

    /**
    * Add commentaires
    *
    * @param SioPrevot\BlogBundle\Entity\Commentaire $commentaires
    */
    public function addCommentaire(\SioPrevot\BlogBundle\Entity\Commentaire $commentaires)
    {
    $this->commentaires[] = $commentaires;
    $commentaires->setArticle($this);
    //return $this; //ajouter car mis dans le poly
    }

    public function removeCommentaire(\SioPrevot\BlogBundle\Entity\Commentaire $commentaire)
    {
    $this->commentaires->removeElement($commentaire);
    }

    /**
    * Get commentaires
    *
    * @return Doctrine\Common\Collections\Collection
    */
    public function getCommentaires()
    {
    return $this->commentaires;
    }

    /**
    * Add tags
    *
    * @param SioPrevot\BlogBundle\Entity\Tag $tags
    */
    public function addTag(\SioPrevot\BlogBundle\Entity\Tag $tags)
    {
    $this->tags[] = $tags;
    }

    public function removeTag(\SioPrevot\BlogBundle\Entity\Commentaire $tag)
    {
    $this->commentaires->removeElement($tag);
    }

    /**
    * Get tags
    *
    * @return Doctrine\Common\Collections\Collection
    */
    public function getTags()
    {
    return $this->tags;
    }
    }


    <?php

    namespace SioPrevot\BlogBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;

    /**
    * SioPrevot\BlogBundle\Entity\Image
    *
    * @ORM\Table()
    * @ORM\Entity(repositoryClass="SioPrevot\BlogBundle\Entity\ImageRepository")
    */
    class Image
    {
    /**
    * @var integer $id
    *
    * @ORM\Column(name="id", type="integer")
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $id;

    /**
    * @var string $url
    *
    * @ORM\Column(name="url", type="string", length=255)
    */
    private $url;

    /**
    * @var string $alt
    *
    * @ORM\Column(name="alt", type="string", length=255)
    */
    private $alt;


    /**
    * Get id
    *
    * @return integer
    */
    public function getId()
    {
    return $this->id;
    }

    /**
    * Set url
    *
    * @param string $url
    */
    public function setUrl($url)
    {
    $this->url = $url;
    }

    /**
    * Get url
    *
    * @return string
    */
    public function getUrl()
    {
    return $this->url;
    }

    /**
    * Set alt
    *
    * @param string $alt
    */
    public function setAlt($alt)
    {
    $this->alt = $alt;
    }

    /**
    * Get alt
    *
    * @return string
    */
    public function getAlt()
    {
    return $this->alt;
    }
    }

    <?php
    // src/SioPrevot/BlogBundle/Form/ArticleType.php

    namespace SioPrevot\BlogBundle\Form;

    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilder;
    //use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;

    class ArticleType extends AbstractType
    {
    public function buildForm(FormBuilder $builder, array $options)
    {
    $builder
    ->add('date', 'date')
    ->add('titre', 'text')
    ->add('auteur', 'textarea')
    ->add('contenu', 'text')
    ->add('publication', 'checkbox', array('required' => false))
    ->add('image', new ImageType())
    ->add('categories', 'collection', array('type' => new CategorieType(), 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false))
    // ->add('tags')
    ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
    $resolver->setDefaults(array('data_class' => 'SioPrevot\BlogBundle\Entity\Article'));
    }

    public function getName()
    {
    return 'sioprevot_blogbundle_articletype';
    }
    }

    <?php

    namespace SioPrevot\BlogBundle\Form;

    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilder;
    //use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;

    class ImageType extends AbstractType
    {
    public function buildForm(FormBuilder $builder, array $options)
    {
    $builder
    ->add('url', 'text')
    ->add('alt', 'text')
    ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
    $resolver->setDefaults(array('data_class' => 'SioPrevot\BlogBundle\Entity\Image'));
    }

    public function getName()
    {
    return 'sioprevot_blogbundle_imagetype';
    }
    }


    {# src/SioPrevot/BlogBundle/Resources/views/Blog/formulaire.html.twig #}

    {# Cette vue n'hérite de personne, elle sera inclue par d'autres vues qui, elles, hériteront sûrement du layout. #}
    {# Je dis "sûrement" car, ici pour cette vue, on n'en sait rien et c'est une info qui ne nous concerne pas #}

    <h3>
    Formulaire d'article
    </h3>

    {# Ici on laisse vide la vue pour l'instant, on la comblera plus tard lorsquee l'on saura afficher un formulaire. #}
    <div class="well">
    <form method="post" {{ form_enctype(form) }}>
    {{ form_widget(form) }}

    <a href="#" id="add_category" class="btn">
    Ajouter une catégorie
    </a>
    <br /><br />
    <input type="submit" class="btn btn-primary" />
    </form>
    </div>

    <script src="http://code.jquery.com/jquery-1.8.2.min.js">
    </script>
    <script type="text/javascript">
    $(document).ready(function()
    {
    var $container = $('#sioprevot_blogbundle_articletype_categories');

    function add_category()
    {
    index = $container.children().length;
    $container.append($($container.attr('data-prototype').replace(/__name__/g, index)));
    $container.append($('<a href="#" id="delete_category_' + index + '" class="btn btn-danger">Supprimer</a><br /><br/>'));

    $('#delete_category_' + index).click(function()
    {
    $(this).prev().remove();
    $(this).remove()
    return false;
    });
    }

    if($container.children().length == 0)
    {
    add_category();
    }

    $('#add_category').click(function()
    {
    add_category();
    return false;
    });

    });
    </script>

    public function ajouterAction()
    {
    $article = new Article;
    $form = $this->createForm(new ArticleType, $article);

    $request = $this->getRequest('request');
    if( $request->getMethod() == 'POST' )
    {
    $form->bindRequest($request);
    if( $form->isValid() )
    {
    $em =$this->getDoctrine()->getEntityManager();
    $em->persist($arsticle->getImage());
    $em->persist($article);
    $em->flush();

    return $this->redirect( $this->generateUrl('SioPrevotBlog_accueil') );
    }
    }

    return $this->render('SioPrevotBlogBundle:Blog:ajouter.html.twig', array('form' => $form->createView()));
    }

    Voici plusieures heures que je cherche, je comprends dans l'erreur que je n'envoie pas le bon objet or je ne trouve pas mon erreur.

    Merci de m'aider
    • Partager sur Facebook
    • Partager sur Twitter
      9 décembre 2012 à 3:36:14

      Bonsoir,

      Merci d'utiliser le zCode pour formater ton message stp.
      • Partager sur Facebook
      • Partager sur Twitter
        9 décembre 2012 à 11:56:03

        Désolèe, c'est la première fois que je mets un message et vu l'heure je n'ai pas fait attention, il n'y a même pas d'espace dans ma programmation.

        Bonjour et merci pour tout ce que vous faites,

        En suivant le tuto sur Symfony2, lorsque j'essaye de relier 2 formulaires, je rencontre l'erreur suivante :

        Catchable Fatal Error: Argument 1 passed to SioPrevot\BlogBundle\Entity\Article::setImage() must be an instance of SioPrevot\BlogBundle\Entity\Image, array given, called in C:\xampp\htdocs\Symfony\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 347 and defined in C:\xampp\htdocs\Symfony\src\SioPrevot\BlogBundle\Entity\Article.php line 203


        Voici mon code :

        <?php
        
        namespace SioPrevot\BlogBundle\Entity;
        
        use Doctrine\ORM\Mapping as ORM;
        //name="sioprevot_article"
        /**
         * SioPrevot\BlogBundle\Entity\Article
         *
         * @ORM\Table()
         * @ORM\Entity(repositoryClass="SioPrevot\BlogBundle\Entity\ArticleRepository")
         */
        class Article
        {
            /**
             * @var integer $id
             *
             * @ORM\Column(name="id", type="integer")
             * @ORM\Id
             * @ORM\GeneratedValue(strategy="AUTO")
             */
            private $id;
        
            /**
             * @var datetime $date
             *
             * @ORM\Column(name="date", type="datetime")
             */
            private $date;
        
            /**
             * @var string $titre
             *
             * @ORM\Column(name="titre", type="string", length=255)
             */
            private $titre;
            
            /**
             * @var string $auteur
             *
             * @ORM\Column(name="auteur", type="string", length=255)
             */
            private $auteur;
        
            /**
             * @var text $contenu
             *
             * @ORM\Column(name="contenu", type="text")
             */
            private $contenu;
        
            /**
             * @ORM\Column(name="publication", type="boolean")
             */
            private $publication;
        
            /**
             * @ORM\OneToOne(targetEntity="SioPrevot\BlogBundle\Entity\Image", cascade={"persist"})
             * @ORM\JoinColumn(nullable=true) 
             */
            private $image;
        
            /**
             * @ORM\OneToMany(targetEntity="SioPrevot\BlogBundle\Entity\Commentaire", mappedBy="article")
             */
            private $commentaires; 
            
            /**
             * @ORM\ManyToMany(targetEntity="SioPrevot\BlogBundle\Entity\Categorie", cascade={"persist"})
             */
            private $categories;
        
            /**
             * @ORM\ManyToMany(targetEntity="SioPrevot\BlogBundle\Entity\Tag")
             */
            private $tags;
        
            //La définition des attributs
            public function __construct()
            {
                $this->date = new \Datetime(); //date d'aujourd'hui par défaut
                $this->publication = true;
                $this->categories = new \Doctrine\Common\Collections\ArrayCollection();
                $this->commentaires = new \Doctrine\Common\Collections\ArrayCollection();
                $this->tags = new \Doctrine\Common\Collections\ArrayCollection();
            }
        
            /**
             * Get id
             *
             * @return integer 
             */
            public function getId()
            {
                return $this->id;
            }
        
            /**
             * Set date
             *
             * @param datetime $date
             */
            public function setDate($date)
            {
                $this->date = $date;
            }
        
            /**
             * Get date
             *
             * @return datetime 
             */
            public function getDate()
            {
               return $this->date;
            }
        
            /**
             * Set titre
             *
             * @param string $titre
             */
            public function setTitre($titre)
            {
                $this->titre = $titre;
            }
        
            /**
             * Get titre
             *
             * @return string 
             */
            public function getTitre()
            {
                return $this->titre;
            }
        
            /**
             * Set auteur
             *
             * @param string $auteur
             */
            public function setAuteur($auteur)
            {
                $this->auteur = $auteur;
            }
        
            /**
             * Get auteur
             *
             * @return string 
             */
            public function getAuteur()
            {
                return $this->auteur;
            }
        
            /**
             * Set contenu
             *
             * @param text $contenu
             */
            public function setContenu($contenu)
            {
                $this->contenu = $contenu;
            }
        
            /**
             * Get contenu
             *
             * @return text 
             */
            public function getContenu()
            {
                return $this->contenu;
            }
        
            /**
             * Set publication
             *
             * @param boolean $publication
             */
            public function setPublication($publication)
            {
                $this->publication = $publication;
            }
        
            /**
             * Get publication
             *
             * @return boolean 
             */
            public function getPublication()
            {
                return $this->publication;
            }
        
            /**
             * Set image
             *
             * @param SioPrevot\BlogBundle\Entity\Image $image
             */
            public function setImage(\SioPrevot\BlogBundle\Entity\Image $image = null)
            {
                $this->image = $image;
            }
        
            /**
             * Get image
             *
             * @return SioPrevot\BlogBundle\Entity\Image 
             */
            public function getImage()
            {
                return $this->image;
            }
        
            public function setCategories($categories)
            {
                $this->categories = $categories;
            }
        
            /**
             * Add categories
             *
             * @param SioPrevot\BlogBundle\Entity\Categorie $categories
             */
            public function addCategorie(\SioPrevot\BlogBundle\Entity\Categorie $categories)
            {
                $this->categories[] = $categories;
            }
        
            /**
             * Remove categories
             * 
             * @param SioPrevot\BlogBundle\Entity\Categorie $categories
             */
            public function removeCategorie(\SioPrevot\BlogBundle\Entity\Categorie $categorie)
            {
                $this->categories->removeElement($categorie);
            } 
        
            /**
             */ Get categories
             *
             * @return Doctrine\Common\Collections\Collection 
             */
            public function getCategories()
            {
                return $this->categories;
            }
        
            /**
             * Add commentaires
             *
             * @param SioPrevot\BlogBundle\Entity\Commentaire $commentaires
             */
            public function addCommentaire(\SioPrevot\BlogBundle\Entity\Commentaire $commentaires)
            {
                $this->commentaires[] = $commentaires;
                $commentaires->setArticle($this);
                return $this;
            }
                
            public function removeCommentaire(\SioPrevot\BlogBundle\Entity\Commentaire $commentaire)
            {
                $this->commentaires->removeElement($commentaire);
            }
        
            /**
             * Get commentaires
             *
             * @return Doctrine\Common\Collections\Collection 
             */
            public function getCommentaires()
            {
                return $this->commentaires;
            }
        
            /**
             * Add tags
             *
             * @param SioPrevot\BlogBundle\Entity\Tag $tags
             */
            public function addTag(\SioPrevot\BlogBundle\Entity\Tag $tags)
            {
                $this->tags[] = $tags;
            }
        
            public function removeTag(\SioPrevot\BlogBundle\Entity\Commentaire $tag)
            {
                $this->commentaires->removeElement($tag); 
            }
        
            /**
             * Get tags
             *
             * @return Doctrine\Common\Collections\Collection 
             */
            public function getTags()
            {
                return $this->tags;
            }
        }
        


        <?php
        
        namespace SioPrevot\BlogBundle\Entity;
        
        use Doctrine\ORM\Mapping as ORM;
        
        /**
         * SioPrevot\BlogBundle\Entity\Image
         *
         * @ORM\Table()
         * @ORM\Entity(repositoryClass="SioPrevot\BlogBundle\Entity\ImageRepository")
         */
        class Image
        {
            /**
             * @var integer $id
             *
             * @ORM\Column(name="id", type="integer")
             * @ORM\Id
             * @ORM\GeneratedValue(strategy="AUTO")
             */
            private $id;
        
            /**
             * @var string $url
             *
             * @ORM\Column(name="url", type="string", length=255)
             */
            private $url;
        
            /**
             * @var string $alt
             *
             * @ORM\Column(name="alt", type="string", length=255)
             */
            private $alt;
        
        
            /**
             * Get id
             *
             * @return integer 
             */     
            public function getId()
            {
                return $this->id;
            }
        
            /**
             * Set url
             *
             * @param string $url
             */
            public function setUrl($url)
            {
               $this->url = $url;
            }
        
            /**
             * Get url
             *
             * @return string 
             */
            public function getUrl()
            {
                return $this->url;
            }
        
            /**
             * Set alt
             *
             * @param string $alt
             */
            public function setAlt($alt)
            {
                $this->alt = $alt;
            }
        
            /**
             * Get alt
             *
             * @return string 
             */
            public function getAlt()
            {
                return $this->alt;
            }
        }
        


        <?php
        // src/SioPrevot/BlogBundle/Form/ArticleType.php
        
        namespace SioPrevot\BlogBundle\Form;
        
        use Symfony\Component\Form\AbstractType;
        use Symfony\Component\Form\FormBuilder;
        use Symfony\Component\OptionsResolver\OptionsResolverInterface;
        
        class ArticleType extends AbstractType
        {
            public function buildForm(FormBuilder $builder, array $options)
            {
                 $builder
                    ->add('date', 'date')
                    ->add('titre', 'text')
                    ->add('auteur', 'textarea')
                    ->add('contenu', 'text')
                    ->add('publication', 'checkbox', array('required' => false))
                    ->add('image', new ImageType())
                    ->add('categories', 'collection', array('type' => new CategorieType(), 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false))
                ;
            }
        
            public function setDefaultOptions(OptionsResolverInterface $resolver)
            {
                $resolver->setDefaults(array('data_class' => 'SioPrevot\BlogBundle\Entity\Article'));
            }
        
            public function getName()
            {
                return 'sioprevot_blogbundle_articletype';
            }
        }
        


        <?php
        
        namespace SioPrevot\BlogBundle\Form;
        
        use Symfony\Component\Form\AbstractType;
        use Symfony\Component\Form\FormBuilder;
        use Symfony\Component\OptionsResolver\OptionsResolverInterface;
        
        class ImageType extends AbstractType
        {
            public function buildForm(FormBuilder $builder, array $options)
            {
                $builder
                    ->add('url', 'text')
                    ->add('alt', 'text')
                ;
            }
        
            public function setDefaultOptions(OptionsResolverInterface $resolver)
            {
                $resolver->setDefaults(array('data_class' => 'SioPrevot\BlogBundle\Entity\Image'));
            }
        
            public function getName()
            {
                return 'sioprevot_blogbundle_imagetype';
            }
        }
        


        {# src/SioPrevot/BlogBundle/Resources/views/Blog/formulaire.html.twig #}
        
        <h3>
            Formulaire d'article
        </h3>
        
        <div class="well">
            <form method="post" {{ form_enctype(form) }}>
                {{ form_widget(form) }}
            
                <a href="#" id="add_category" class="btn">
                    Ajouter une catégorie
                </a>
                <br /><br />
                <input type="submit" class="btn btn-primary" />
            </form>
        </div>
        
        <script src="http://code.jquery.com/jquery-1.8.2.min.js">
        </script>
        <script type="text/javascript">
            $(document).ready(function()
            {
                var $container = $('#sioprevot_blogbundle_articletype_categories');
        
                function add_category()
                {
                    index = $container.children().length;
                    $container.append($($container.attr('data-prototype').replace(/__name__/g, index)));
                    $container.append($('<a href="#" id="delete_category_' + index + '" class="btn btn-danger">Supprimer</a><br /><br/>'));
        
                    $('#delete_category_' + index).click(function()
                    {
                        $(this).prev().remove();
                        $(this).remove()
                        return false;
                    });
                }
        
                if($container.children().length == 0)
                {
                    add_category();
                }
        
                $('#add_category').click(function()
                {
                    add_category();
                    return false;
                }); 
        
            });
        </script>
        


        <?php
            public function ajouterAction()
            {
                $article = new Article;
                $form = $this->createForm(new ArticleType, $article);
        
                $request = $this->getRequest('request');
                if( $request->getMethod() == 'POST' )
                {
                    $form->bindRequest($request);
                    if( $form->isValid() )
                    {
                        $em =$this->getDoctrine()->getEntityManager();
                        $em->persist($arsticle->getImage());
                        $em->persist($article);
                        $em->flush();
        
                        return $this->redirect( $this->generateUrl('SioPrevotBlog_accueil') );
                    }
                }
        
                return $this->render('SioPrevotBlogBundle:Blog:ajouter.html.twig', array('form' => $form->createView()));
            }
        

        Voici plusieures heures que je cherche, je comprends dans l'erreur que je n'envoie pas le bon objet or je ne trouve pas mon erreur.


        Merci de m'aider
        • Partager sur Facebook
        • Partager sur Twitter
          9 décembre 2012 à 13:16:56

          Ligne 14 de ton action dans le controller, tu as mis : $em->persist($arsticle->getImage()); au lieu de $em->persist($article->getImage());
          • Partager sur Facebook
          • Partager sur Twitter
            9 décembre 2012 à 16:02:02

            Merci pour la réponse, mais le problème n'est pas résolu.

            En effet, j'ai mis cette ligne 14 dans le contrôleur par sécurité mais dans le lien entre article et image figure la mention persist afin que l'image soit mémorisée en même temps que l'article
            • Partager sur Facebook
            • Partager sur Twitter
              6 janvier 2014 à 21:24:26

              Bonjour,

              Je relance le sujet si quelqu'un à la solution j ai le même problème.

              Merci

              • Partager sur Facebook
              • Partager sur Twitter
              Just do it
                5 janvier 2015 à 14:21:27

                bomaye, as tu trouvé une solution car j'ai plus ou moins le même soucis mais pour l'upload de fichier, j'ai cette erreur:

                Catchable Fatal Error: Argument 1 passed to MyNamespace\DatabaseBundle\Entity\Ensembles::setDocumentsensemble() must be an instance of MyNamespace\DatabaseBundle\Entity\Documentsensemble, instance of Symfony\Component\HttpFoundation\File\UploadedFile given, called in C:\wamp\www\BitbucketRepository\repos\MyApp\vendor\symfony\symfony\src\Symfony\Component\PropertyAccess\PropertyAccessor.php on line 438 and defined in C:\wamp\www\BitbucketRepository\repos\MyApp\src\MyNamespace\DatabaseBundle\Entity\Ensembles.php line 411



                -
                Edité par DopeRenegade 14 septembre 2015 à 9:45:52

                • Partager sur Facebook
                • Partager sur Twitter
                Web and Network is cultivated !
                  8 janvier 2016 à 3:29:09

                  J'ai le meme souci si quelqu'un a la solution je suis preneur s'il vous plait....
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mai 2016 à 1:24:22

                    Catchable Fatal Error: Argument 1 passed to Rocket\BackendBundle\Services\NotificationService::askQuestionPropertyRequest() must be an instance of Rocket\UserBundle\Entity\Agent, instance of Rocket\UserBundle\Entity\Broker given, called in /Applications/MAMP/htdocs/rocketagents/src/Rocket/FrontEndBundle/Controller/DefaultController.php on line 235 and defined

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 mai 2016 à 12:35:32

                      quelqu'un aurait trouver une solution svp ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 mai 2016 à 13:05:08

                        Bonjour,

                        Dans quelle version de Symfony es tu ?

                        A+

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mai 2016 à 0:41:30

                          la version du symfony 2.8, ce problème est résolue pour moi , c'est une question de namespase, càd erreur du path
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 mai 2016 à 6:45:39

                            Le code initial fourni ne fonctionne pas avec une version récente : 3.x j'en suis sûr et peut-être déjà dès la 2.8.x que je n'ai pas testé.

                            Le message indiqué peut provenir de ce point.

                            A+

                            • Partager sur Facebook
                            • Partager sur Twitter
                              27 mai 2016 à 14:45:32

                              Bonjour, j'ai réussi a résoudre le problème c’était au niveau du namespace :p
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Symfony2 : Catchable Fatal Error: Argument 1 passed to

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown