フォームの選択内容を動的に生成したい。動的選択ゾーンをsymfonyの形式で使用する
私は能力フィールドを持っているOffre Entityを持っています。各コンピテンシーは、GroupeCompetencesと呼ばれる一連のコンピテンシー内にあります。
GroupeCompetences Selectボックスでフォームを作成して、そのグループにあるCompetenceの2番目の選択ボックスにフィードします。ここで
は私のエンティティは以下のとおりです。
Offreエンティティ
/**
* Offre
*
* @ORM\Table(name="offre")
* @ORM\Entity(repositoryClass="AppBundle\Repository\OffreRepository")
*/
class Offre
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="titre", type="string", length=100)
*/
private $titre;
/**
* @var Competence
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Competence")
*/
private $competence;
//ALL GETTERS AND SETTERS ...
}
能力エンティティ
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Competence
*
* @ORM\Table(name="competence")
* @ORM\Entity(repositoryClass="AppBundle\Repository\CompetenceRepository")
*/
class Competence
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="GroupeCompetences", inversedBy="competences")
*/
private $groupeCompetence;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=100)
*/
private $nom;
//ALL GETTERS AND SETTERS ...
}
GroupeCompetencesエンティティ:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* GroupeCompetences
*
* @ORM\Table(name="groupe_competences")
* @ORM\Entity(repositoryClass="AppBundle\Repository\GroupeCompetencesRepository")
*/
class GroupeCompetences
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="Competence", mappedBy="groupeCompetence")
*/
private $competences;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=100)
*/
private $nom;
//ALL GETTERS AND SETTERS ...
}
私は作成することはできませんフォーム( GroupeCompetencesではないので
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Doctrine\ORM\EntityRepository;
use AppBundle\Entity\Offre;
class OffreType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('titre')
->add('competence')
これはOffreエンティティに直接、 を私は説明を)動作しません。
->add('groupeCompetences', EntityType::class, array(
'class' => 'AppBundle:GroupeCompetences',
'choice_label' => 'nom',
'placeholder' => 'Choisissez un groupe de compétences',
))
}
}
感謝を事前にすべてのあなたの助けのために! :=)
この を見るhttp://stackoverflow.com/questions/43858460/entity-is-empty-in-formmodifier-on-form-eventsです – rafrsr
例では、会議エンティティに2つのエンティティ(医者と顧客)が含まれているのと同じことはありません。 私の場合、私は1つの能力のグループにリンクされているエンティティ(能力)が1つしかありません。そして、グループはoffreエンティティとリンクされていません – zskiredj
ケースは同じです(もちろん)が、アプローチは似ていますが、必要な変更を加えることもできます。 – rafrsr