В проекте Symfony 4 у меня есть форма, в которой пользователь может записать «докладчика» из списка select
. Опции для списка select
извлекаются из сущности Staff
с использованием запроса в моем FormType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('presenter', EntityType::class, [
'class' => Staff::class,
'placeholder' => 'Select presenter',
'query_builder' => function (StaffRepository $repo) {
return $repo->createAlphabeticalQueryBuilder()
->andWhere('staff.isPresenter = true');
},
])
->add('other fields...')
}
Со временем члены Staff
, выступающие в роли докладчиков, меняются. У меня проблема в том, что если у меня есть запись, в которой «другие поля» должны быть обновлены позднее, но член Staff
больше не является «докладчиком», то предыдущий докладчик даже не является опцией в select
список. Когда форма отправлена, предыдущий докладчик теряется (presenter
теперь записывается как NULL).
Как сохранить докладчика в таком случае?