(извините за мой английский sh, я француженка ^^)
Я несколько дней пытался выбрать форму с несколько особенным ChoiceType. Я хочу, чтобы выбор содержал, например, все имена зоопарков Франции (которые зарегистрированы в моем BDD в объекте), но я хочу иметь возможность добавлять варианты, например, «Лаборатория», «Другие», например, иметь список зоопарков + лаборатория + другие в одном списке .... (Вот почему я не беру entityType, потому что я не хочу создавать таблицу только для них. Я бы хотел, чтобы это был отдельный выбор).
Итак, я начал с этого в моем formtype.
public function getZooName()
{
$allZoos = $this->entityManager->getRepository(Zoo::class)->findAll();
$zoosName = [];
foreach ($allZoos as $zoo) {
$zooName = $zoo->getName();
$zoosName[$zooName] = $zoo->getName(); //If I don't do this, I have 0, 1, 2 ... in the select instead of the name
}
return $zoosName;
}
А затем в buildForm у меня есть:
->add('origin', ChoiceType::class, [
'label' => false,
'choices' => [
$this->getZooName(),
'Labo'=>'LABO',
'Autre'=>'AUTRE'
],
])
Это то, что у меня есть со всем этим ...
Я не понимаю, откуда взято "0" ... Поскольку я все еще новичок, я, конечно, сделал что-то не так! Спасибо !