2017-12-21 21 views
0

私はsymfony2を使用しています。私は3つのエンティティPiece、Brand、およびModelを持っています。作品を追加するときには、制作者とモデルを示す必要があります。 CRUDを実行すると、すべてが機能し、すべてのブランドとモデルが表示されます。私がブランドを選択したときに私が欲しいのは、このブランドに関連するモデルのみを表示しています。フォームを追加するsymfony2

class Piece { 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

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

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

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

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

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

    /** 
    * @ORM\ManyToOne(targetEntity="Modele", cascade={"persist"}) 
    * @ORM\JoinColumn(nullable=false) 
    */ 
    private $modele; 

    /** 
    * @ORM\ManyToOne(targetEntity="Localisation", cascade={"persist"}) 
    * @ORM\JoinColumn(nullable=false) 
    */ 
    private $localisation; 


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

    /** 
    * Set refference 
    * 
    * @param string $refference 
    * @return Piece 
    */ 
    public function setRefference($refference) 
    { 
     $this->refference = $refference; 

     return $this; 
    } 

    function getModele() { 
     return $this->modele; 
    } 

    function setModele($modele) { 
     $this->modele = $modele; 
    } 

    function getLocalisation() { 
     return $this->localisation; 
    } 

    function setLocalisation($localisation) { 
     $this->localisation = $localisation; 
    } 

    function getMar() { 
     $m=new Marque(); 
     return $m->getNom(); 
    } 



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

    /** 
    * Set description 
    * 
    * @param string $description 
    * @return Piece 
    */ 
    public function setDescription($description) 
    { 
     $this->description = $description; 

     return $this; 
    } 

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

    /** 
    * Set ref1 
    * 
    * @param string $ref1 
    * @return Piece 
    */ 
    public function setRef1($ref1) 
    { 
     $this->ref1 = $ref1; 

     return $this; 
    } 

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

    /** 
    * Set ref2 
    * 
    * @param string $ref2 
    * @return Piece 
    */ 
    public function setRef2($ref2) 
    { 
     $this->ref2 = $ref2; 

     return $this; 
    } 

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

    /** 
    * Set ref3 
    * 
    * @param string $ref3 
    * @return Piece 
    */ 
    public function setRef3($ref3) 
    { 
     $this->ref3 = $ref3; 

     return $this; 
    } 

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

PieceType.php

public function buildForm(FormBuilderInterface $builder, array $options){ 
     $builder->add('refference') 
       ->add('description') 
       ->add('localisation') 
       ->add('ref1') 
       ->add('ref2') 
       ->add('ref3') 
       ->add('marque') 
       ->add('modele'); 
    } 

Example of my add

してください示唆?

+0

'brand'値が変更されたときにajaxを使用して' model'フィールド値を変更します – ArtOsi

答えて

0

AJAXを使用しない場合は、CraueFormFlowBundleを使用して、異なる手順でFormTypeを作成し、symfonyにいくつかのルールを作成できます。

+0

Thx、私はそれを試します –

関連する問題