チームメンバーのエンティティがあり、仕様ごとに値を持つことができる仕様のリストがあります。
しかし、SpecificationValue を入力できる各仕様の背後にあるフィールドを使用して、仕様の完全なリストを取得するにはどうすればよいでしょうか。
その値は、TeamMember および Specification への ForeignKey とともに SpecificationValue エンティティに格納されます。
だから私はリストが欲しい: [TeamMember edit_form > Specifications[] > SpecificationValue]
より詳しい情報:
// FORM
class SpecificationValueType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('value')
->add('specification')
->add('teammember')
;
}
// ENTITY
class SpecificationValue
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Specifications")
* @ORM\JoinColumn(name="specification_id", referencedColumnName="id")
*/
protected $specification; // refernce for specification entity > name, type[ENUM('input','textarea')]
/**
* @ORM\ManyToOne(targetEntity="Teammember")
* @ORM\JoinColumn(name="teammember_id", referencedColumnName="id")
*/
protected $teammember;
/**
* @var string
* @ORM\Column(name="value", type="string", length=200, nullable=true)
*/
protected $value; // value that can be filled in for each
// ENTITY
class TeamMember
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="name", type="string", length=250)
*/
protected $name; // and some other fields, now skipped for the example
/**
* @ORM\OneToMany(targetEntity="SpecificationValue", mappedBy="specifications")
*/
protected $specifications;
///
/**
* Add specificationValue
*
* @param \Foobar\MyBundle\Entity\SpecificationValue $specifications
* @return SpecificationValue
*/
public function addSpecification(\Foobar\MyBundle\Entity\SpecificationValue $specifications)
{
$this->specifications[] = $specifications;
return $this;
}
/**
* Remove specifications
*
* @param \Foobar\MyBundle\Entity\SpecificationValue $specifications
*/
public function removeSpecification(\Foobar\MyBundle\Entity\SpecificationValue $specifications)
{
$this->specifications->removeElement($specifications);
}
/**
* Get specifications
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getSpecifications()
{
return $this->specifications;
}
/**
* Get specifications
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getSpecification()
{
return $this->specification;
}