collection-crud/src/Form/FpuType.php

39 lines
1006 B
PHP
Raw Normal View History

2023-07-21 10:35:15 -04:00
<?php declare(strict_types=1);
2022-10-25 14:52:58 -04:00
namespace App\Form;
2023-07-21 10:35:15 -04:00
use App\Entity\{Brand, Fpu, Socket};
2022-10-25 14:52:58 -04:00
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
2023-07-21 10:35:15 -04:00
use Symfony\Component\Form\{AbstractType, FormBuilderInterface};
2022-10-25 14:52:58 -04:00
use Symfony\Component\OptionsResolver\OptionsResolver;
2023-07-21 10:35:15 -04:00
class FpuType extends AbstractType {
2022-10-25 14:52:58 -04:00
use BrandCategoryTrait;
2023-07-21 10:35:15 -04:00
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
2022-10-25 14:52:58 -04:00
->add('socket', EntityType::class, [
'class' => Socket::class,
2023-07-21 10:35:15 -04:00
'query_builder' => static fn (EntityRepository $e) => $e->createQueryBuilder('s')->orderBy('s.name', 'ASC'),
2022-10-25 14:52:58 -04:00
])
->add('brand', EntityType::class, [
'class' => Brand::class,
'query_builder' => self::filterBrands('fpu'),
])
->add('series')
2023-07-21 10:35:15 -04:00
->add('model')
->add('clockSpeed')
->add('count')
->add('notes');
}
2022-10-25 14:52:58 -04:00
2023-07-21 10:35:15 -04:00
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Fpu::class,
]);
}
2022-10-25 14:52:58 -04:00
}