[英]How can I get access to ArrayCollection data inside my Array (Symfony 4)?
fields table
:
productgroup table
:
在我的控制器中,我像這樣加載我的fields_array
:
$fields_array = $this->getDoctrine()->getRepository(class::fields)->findAll();
如果沒有連接字段和產品組,則fields_array
如下所示:
array:2 [▼
0 => Fields {#7460 ▼
-id: 3
-name: "cat"
-unique_id: "5a38c820ed"
-productgroup: PersistentCollection {#7464 ▼
-snapshot: []
-owner: Fields {#7460}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7465 ▼
-elements: []
}
#initialized: false
}
-type: Type {#7541 ▶}
}
1 => Fields {#7542 ▼
-id: 4
-name: "horse"
-unique_id: "bd7762b0e6"
-productgroup: PersistentCollection {#7543 ▼
-snapshot: []
-owner: Fields {#7542}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7544 ▼
-elements: []
}
#initialized: false
}
-type: Type {#7545 ▶}
}
]
如您所見, ArrayCollecton
不包含任何元素。
所以現在我將cat
與產品組Animals
。 所以我的表fields_productgroup
看起來像這樣:
現在,如您所見,我的cat
ArrayCollection
包含元素Animals
:
array:2 [▼
0 => Fields {#7460 ▼
-id: 3
-name: "cat"
-unique_id: "5a38c820ed"
-productgroup: PersistentCollection {#7464 ▼
-snapshot: array:1 [ …1]
-owner: Fields {#7460}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7465 ▼
-elements: array:1 [▼
0 => Productgroup {#7146 ▼
-id: 6
-name: "Animals"
-unique_id: "9e4ef1c46f"
-fields: PersistentCollection {#7357 ▶}
}
]
}
#initialized: true
}
-type: Type {#7541 ▶}
}
1 => Fields {#7542 ▼
-id: 4
-name: "horse"
-unique_id: "bd7762b0e6"
-productgroup: PersistentCollection {#7543 ▼
-snapshot: []
-owner: Fields {#7542}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7544 ▼
-elements: []
}
#initialized: false
}
-type: Type {#7545 ▶}
}
]
現在,我還將horse
與產品組Animals
。 所以我的表fields_productgroup
看起來像這樣:
我fields_array
為horse
表明,有在一個元素ArrayCollection
,但它不包含信息Animals
。 它只是一個空數組...但是我實際上需要產品組馬所連接的信息
array:2 [▼
0 => Fields {#7460 ▼
-id: 3
-name: "cat"
-unique_id: "5a38c820ed"
-productgroup: PersistentCollection {#7464 ▼
-snapshot: array:1 [ …1]
-owner: Fields {#7460}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7465 ▼
-elements: array:1 [▼
0 => Productgroup {#7146 ▼
-id: 6
-name: "Animals"
-unique_id: "9e4ef1c46f"
-fields: PersistentCollection {#7357 ▶}
}
]
}
#initialized: true
}
-type: Type {#7541 ▶}
}
1 => Fields {#7542 ▼
-id: 4
-name: "horse"
-unique_id: "bd7762b0e6"
-productgroup: PersistentCollection {#7543 ▼
-snapshot: array:1 [ …1]
-owner: Fields {#7542}
-association: array:20 [ …20]
-em: EntityManager {#2815 …11}
-backRefFieldName: "fields"
-typeClass: ClassMetadata {#6494 …}
-isDirty: false
#collection: ArrayCollection {#7544 ▼
-elements: array:1 [▼
0 => Productgroup {#7146}
]
}
#initialized: true
}
-type: Type {#7545 ▶}
}
]
我的領域實體:
/**
* @ORM\ManyToMany(targetEntity="Productgroup", inversedBy="fields")
* @ORM\JoinColumn(name="productgroup", referencedColumnName="id")
*/
private $productgroup;
public function getProductgroup()
{
return $this->productgroup;
}
public function setProductgroup($productgroup): self
{
$this->productgroup = $productgroup;
return $this;
}
public function __construct()
{
$this->productgroup = new ArrayCollection();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.