Sag mal, gibt es eine einfache viele-zu-eins Beziehungen: Modell Haartyp und die Augenfarbe hat:Verwenden ManyToOne Beziehung als Multiple-Choice in Symfony-Form (mit Lehre)
/**
* @ORM\Entity
*/
class Model
{
/**
* @ORM\ManyToOne(targetEntity="Hair")
* @ORM\JoinColumn(name="hair_id", referencedColumnName="id")
*/
protected $hair;
/**
* @ORM\ManyToOne(targetEntity="Eyes")
* @ORM\JoinColumn(name="eyes_id", referencedColumnName="id")
*/
protected $eyes;
Zum Beispiel könnte Haar sein : blond, braun, schwarz, rot;
Die Augen: blau, grün, grau, braun.
In der Suchmaske möchte ich, dass der Benutzer mehrere Haartypen und Augen auf einmal auswählen kann. Ich benutze 'multiple' Eigenschaft:
class ModelType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('hair', EntityType::class, [
'class' => 'AppBundle:Hair',
'choice_label' => 'name',
'multiple' => true,
])
->add('eyes', EntityType::class, [
'class' => 'AppBundle:Eyes',
'choice_label' => 'name',
'multiple' => true,
])
->getForm();
;
}
Die Form, wie dies macht:
Natürlich, wenn mehrere Werte auswählen und schicken es einen Fehler verursacht:
Expected argument of type "AppBundle\Entity\Hair", "Doctrine\Common\Collections\ArrayCollection" given
Vielleicht ist das nicht in einem solchen Fall zu verwenden?
Gibt es Best Practices zum Erstellen von Suchformularen in Symfony? Fand keine ...
[Erstellen eines kombinierten Formulartyp durch die Einbettung einzelner formtypes für ein- to-many association in symfony] (http://www.inanzzz.com/index.php/post/a4hv/creating-a-combined-formtype-by-embedding-individual-formtypes-fon-one-to-many- association-in-symfony) und [Vollständiges CRUD-Beispiel im Webform-Stil mit einer eingebetteten assoziierten Entität in symfony] (http://www.inanzzz.com/index.php/post/djrc/ full-webform-style-crud-beispiel-with-embedded-assoziierte-entity-in-symfony – BentCoder