У меня есть класс типа Symfony, подобный следующему:
class FeedFilterType extends AbstractType
{
/**
* @var UserProvider
*/
protected $userProvider;
/**
* @var UserRepository $userRepository
*/
protected $userRepository;
public function __construct(UserProvider $userProvider, UserRepository $userRepository)
{
$this->userProvider = $userProvider;
$this->userRepository = $userRepository;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('creators', EntityType::class, [
'class' => User::class,
'choices' => $this->userRepository->getCreatorsSubscribedToByUser($this->userProvider->getCurrentUser()),
'choice_label' => 'name',
'required' => false,
'multiple' => true,
'expanded' => true
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array());
}
}
Он работает должным образом в том смысле, что возвращает массив пользователей, но когда я добавляю его в свою веточку, например:
{{ form_widget(feedFilterForm.creators) }}
Вот как это выглядит:
Я мог бы легко создать раскрывающийся список выбора из полученного массива сущностей, но есть ли у Symfony встроенный HTML-тип select DOM, полученный из массива сущностей, возвращенных из формы?