问题描述
我正在尝试使用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 (将#修改为@)