Hej, mam w symfony3 + doctrine relację many to many z dodatkowymi polami, zrealizowane jest to mniej więcej tak, ze mam encje Projekt, Produkt i encję łączącą w której są dodatkowe pola ilość itp, chodzi o to że wiele projektów może mieć wiele produktów, problem jest teraz jak wyświetlić takie coś na standardowym form builderze z symfony
//Encja Project
/**
* @var \Doctrine\Common\Collections\Collection
* @ORM\OneToMany(targetEntity="ProjectProducts", mappedBy="project")
*/
private $products;
//ProjectProducts
/**
* @var Project
* @ORM\ManyToOne(targetEntity="Project", inversedBy="products")
* @ORM\JoinColumn(name="project_id", referencedColumnName="id")
*/
private $project;
/**
* @var Product
* @ORM\ManyToOne(targetEntity="Product", inversedBy="projects")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
*/
private $product;
/**
* @var int
*
* @ORM\Column(name="quantity", type="integer")
*/
private $quantity;
//Product
/**
* @var \Doctrine\Common\Collections\Collection
* @ORM\OneToMany(targetEntity="ProjectProducts", mappedBy="product")
*/
private $projects;
Jeśli mam coś takiego w form builderze dla ProjectType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('products');
}
To generowany jest select z tym co znajduje się w tabeli pośredniczącej, a chciałbym żeby było generowane to co jest w tabeli z produktami i dodatkowo input z możliwością wpisania ilość.
Jak najlepiej to zrobić? Stworzyć własny typ który będzie mapował encje łączącą na produkty? dodatkowo jak obsłużyć dynamicznie generowane inputy tak żeby dało się dodawań n produktów?