src/Form/SearchFormType.php line 14
<?phpnamespace App\Form;use App\Entity\Product;use App\Repository\BrandRepository;use App\Repository\ModelRepository;use Symfony\Component\Form\Extension\Core\Type\ChoiceType;use Symfony\Component\Form\Extension\Core\Type\TextType;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;class SearchFormType extends AbstractType{private BrandRepository $brandRepository;private ModelRepository $modelRepository;public function __construct(BrandRepository $brandRepository, ModelRepository $modelRepository){$this->brandRepository = $brandRepository;$this->modelRepository = $modelRepository;}public function buildForm(FormBuilderInterface $builder, array $options): void{$builder->add('brand', ChoiceType::class,['required' => false,'placeholder' => false,'choices' => $this->getBrandChoices(),'data' => 0,])->add('product_model', ChoiceType::class,['required' => false,'placeholder' => false,'choices' => $this->getModelChoices(),'data' => 0,])->add('search', TextType::class,['required' => false,]);}public function configureOptions(OptionsResolver $resolver): void{$resolver->setDefaults([]);}private function getBrandChoices(): array{$brands = $this->brandRepository->findAll();$choices = ['Toutes' => 0];// Add the brand choicesforeach ($brands as $brand) {$choices[$brand->getBrandName()] =$brand->getId() ;}return $choices;}private function getModelChoices(): array{$models = $this->modelRepository->findAll();$choices = ['Tous' => 0];// Add the brand choicesforeach ($models as $model) {$choices[$model->getModelName()] =$model->getId() ;}return $choices;}}