Я создал форму с полем EntityType с построитель запросов:Заполнитель Когда Query Builder возвращает Null на Entity Тип
public function buildForm(FormBuilderInterface $builder, array $options)
{
$entity = $builder->getData();
$relatedParentId = $entity->getParentEntity()->getId();
$builder->add('myEntity', EntityType::class, array(
'class' => myEntity::class,
'query_builder' => function(\AppBundle\Repository\myEntityRepository $eR) use ($relatedEntityId) {
return $aR->getByParentId($relatedEntityId);
},
))
}
Когда запрос возвращает значение, это хорошо. Когда null возвращается, он показывает в форме как пустую опцию с выпадающим списком ни к чему и не очень удобен для пользователя. Я хочу иметь сообщение, чтобы сказать, что результаты не были возвращены.
Обратите внимание, что при возврате результата сообщения не требуется, поэтому опции «placeholder» будет недостаточной. Возможно, я потерял в документации что-то очевидное, но до сих пор мне не повезло.
Как вы думаете, мне нужно было бы создать флаг hasResult раньше с помощью отдельного запроса или был бы способ сделать это прямо на основе того, что возвращается построителем запросов? –
В этом случае вы можете использовать тип выбора вместо типа сущности. Таким образом, вы можете использовать ту же дату для создания своего массива выборов и использовать его для флага 'hasResults', который будет просто« count ($ results) »в вашем случае. – COil