我有一个自定义表单类型Option Explicit
Public Sub GetInfo()
Dim IE As New InternetExplorer, u As Long
With IE
.Visible = True
For u = 2 To 100
If InStr(Cells(u, 1).Value, "http") > 0 Then
.navigate Cells(u, 1).Value
While .Busy Or .readyState < 4: DoEvents: Wend
On Error Resume Next
With .document.getElementById("bm_ann_detail_iframe").contentDocument
ThisWorkbook.Worksheets("Sheet1").Cells(u, 3) = .getElementsByClassName("formContentDataH")(3).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 4) = .getElementsByClassName("company_name")(0).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 5) = .getElementsByClassName("formContentDataH")(1).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 6) = .getElementsByClassName("formContentData")(3).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 7) = .getElementsByClassName("formContentData")(4).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 8) = .getElementsByClassName("formContentData")(5).innerText
ThisWorkbook.Worksheets("Sheet1").Cells(u, 9) = .getElementsByClassName("formContentData")(9).innerText
End With
On Error GoTo 0
End If
Next u
End With
End Sub
我想在表单中使用此类型作为数组
我尝试过
AddressType
但是我无法在此表单对象中添加任何字段, 而当我尝试
$builder->add('addresses', CollectionType::class, [
'entry_type' => AddressType::class,]);
我只能以表格形式提供一个Address对象,所以 我如何能够像这样
发布一个AddressType对象的数组$builder->add('addresses', AddressType::class, []);
答案 0 :(得分:0)
第一种使用 CollectionType 的方法是正确的方法-基本上是根据documentation的 AddressType 字段数组。
正确配置实体和表单类型后,您可以将一个或多个 AddressType 字段手动添加到表单的集合字段中(例如在控制器中),然后在用 for 循环
在symfony documentation中也可以找到这种方法以及更困难和更高级的方法。我建议您按照此处显示的示例进行操作,看起来很像您的问题案例。