[Symfony2] Récupérer un élement image d'un form

Fermé
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 - 9 juil. 2014 à 10:57
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 - 10 juil. 2014 à 10:14
je veux récupérer l'url de l'image ajouter et l'ajouter à l'entité image afin d'étre enregistré à la base de donnée voiçi le code :

Controller:

/**
    * @Route("/formulaire" , name="nm")
    * @Template("frm1Form1Bundle:gest:formulaire.html.twig")
    */
   public function formulaireAction(Request $req)
   {
 
       if($this->verif($req)){
           $cli=new client();
           $form = $this->createFrm($cli);
           $req=$this->getRequest();
           $form->bind($req);
           if($form->isValid()){
 
            $c=$form->getData();
            $doc=$this->getDoctrine()->getManager();
               $doc->persist($c);
               $doc->flush();
               return $this->render("frm1Form1Bundle:gest:crt.html.twig",array("nom"=>$c->getNom()));
           }
 
 
       return array("form"=>$form->createView());
       }else{
           return $this->redirect($this->generateUrl("log"));
       }
   }
   private   function  createFrm(client $client){
    $frmb= $this->createFormBuilder($client);
    $frmb->add('nom',"text")
         ->add("age","integer")
         ->add("image","url")
         ->add("envoyer","submit");
    $form=$frmb->getForm();
       return $form;
   }


Les Entités :

--Client:

<?php
 
namespace frm1\Form1Bundle\Entity;
 
use Doctrine\ORM\Mapping as ORM;
 
/**
 * client
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="frm1\Form1Bundle\Entity\clientRepository")
 */
class client
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
 
    /**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=40)
     */
    private $nom;
 
    /**
     * @var integer
     *
     * @ORM\Column(name="age", type="integer")
     */
    private $age;
    /**
     * @ORM\OneToOne(targetEntity="frm1\Form1Bundle\Entity\image" , cascade={"persist"})
     *
     */
    private $image;
    
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set nom
     *
     * @param string $nom
     * @return client
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
 
        return $this;
    }
 
    /**
     * Get nom
     *
     * @return string
     */
    public function getNom()
    {
        return $this->nom;
    }
 
    /**
     * Set age
     *
     * @param integer $age
     * @return client
     */
    public function setAge($age)
    {
        $this->age = $age;
 
        return $this;
    }
 
    /**
     * Get age
     *
     * @return integer
     */
    public function getAge()
    {
        return $this->age;
    }
 
     
 
 
    /**
     * Set image
     *
     * @param \frm1\Form1Bundle\Entity\image $image
     * @return client
     */
    public function setImage(\frm1\Form1Bundle\Entity\image $image = null)
    {
        $this->image = $image;
 
        return $this;
    }
 
    /**
     * Get image
     *
     * @return \frm1\Form1Bundle\Entity\image
     */
    public function getImage()
    {
        return $this->image;
    }
}


--Image:


<?php
 
namespace frm1\Form1Bundle\Entity;
 
use Doctrine\ORM\Mapping as ORM;
 
/**
 * image
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="frm1\Form1Bundle\Entity\imageRepository")
 */
class image
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
 
    /**
     * @var string
     *
     * @ORM\Column(name="url", type="text")
     */
    private $url;
 
 
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set url
     *
     * @param string $url
     * @return image
     */
    public function setUrl($url)
    {
        $this->url = $url;
 
        return $this;
    }
 
    /**
     * Get url
     *
     * @return string
     */
    public function getUrl()
    {
        return $this->url;
    }
}


Merci d'avance
A voir également:

1 réponse

sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 7
10 juil. 2014 à 10:14
pas de réponse ?
0