交响乐。如何使用一对多的表格创建表单汽车搜索?
Posted
技术标签:
【中文标题】交响乐。如何使用一对多的表格创建表单汽车搜索?【英文标题】:Symfony. How to create a form car search with tables one to many? 【发布时间】:2021-12-12 13:15:22 【问题描述】:我希望用户首先选择“car_types”表中列出的汽车类型。选择车型(轿车/卡车)后,解锁与所选车型相关的车型选择。选择车型后,解锁与品牌相关的车型选择。等等……
This is my table schema:
这是我的代码搜索表单:
class SearchCarsType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options): void
$builder
->add('typ',EntityType::class,[
'class' => CarTypes::class,
'choice_label' => 'name'
])
->add('mark',EntityType::class,[
'class' => Brand::class,
'choice_label' => 'name'
])
->add('model',EntityType::class,[
'class' => Models::class,
'choice_label' => 'name'
])
->add('generation',EntityType::class,[
'class' => Generations::class,
'choice_label' => 'name'
])
->add('car_body',EntityType::class,[
'class' => CarBodys::class,
'choice_label' => 'name'
])
->add('engine',EntityType::class,[
'class' => Engines::class,
'choice_label' => 'name'
])
->add('equipment',EntityType::class,[
'class' => Equipment::class,
'choice_label' => 'name'
])
->add('Submit',SubmitType::class)
;
public function configureOptions(OptionsResolver $resolver): void
$resolver->setDefaults([
// Configure your form options here
]);
【问题讨论】:
【参考方案1】:前段时间我遇到了同样的问题,我能找到的解决方案是创建由ajax
请求提供的选择输入。例如:用户选择汽车类型/卡车,而不是您制作 ajax request
到 your controller
并将类型卡车的品牌返回到您的树枝模板。因此,您的整个页面不会重新加载,而只会重新加载其中的一部分并获取品牌。依此类推,您使用 javascript 将您的选择输入与品牌一起提供
【讨论】:
以上是关于交响乐。如何使用一对多的表格创建表单汽车搜索?的主要内容,如果未能解决你的问题,请参考以下文章