如何解决为每个产品字段添加一个子字段-Symfony表单
我正在尝试使用Symfony 4.4表单构建订购功能
到目前为止,我有这个
class OrderProductForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder
->add('customer',EntityType::class,[
'class' => 'App\Entity\Customers','choice_label' => 'name','label' =>'order_form.name'
])
->add('products',CollectionType::class,[
'entry_type' => ProductQuantityType::class,'label' => '',])
->getForm();
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\Order',));
}
}
和
class ProductQuantityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder
->add('products',[
'class' => 'App\Entity\Products','expanded' => true,'multiple' => true,'label' =>''
])
->add('qty',IntegerType::class,[
'label' =>'order_form.qty'
])
->getForm();
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => null,));
}
}
因为没有数据,所以不会呈现“产品数量”。 Symfony手册未说明如何执行... CollectionType
我真正想要的是为每种产品添加一个数量字段,同时添加任意数量的产品。
这是教义结构
仅包含相关代码
class Order
{
/**
* @ORM\ManyToOne(targetEntity=Customers::class,inversedBy="orders")
* @ORM\JoinColumn(nullable=false)
*/
private $customer;
}
class Customers
{
/**
* @ORM\OneToMany(targetEntity=Order::class,mappedBy="customer",orphanRemoval=true)
*/
private $orders;
}
是否有任何想法可以推动我前进? 谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。