0
我想在我的文檔中添加「市場」,這可以在表單中創建,您可以選擇分配給這些市場的代理機構。所以你沒有專門選擇市場,但是他們是通過選擇代理機構自動添加的。 這背後的邏輯正在工作,但有一件事我還沒有實現: 有一個市場的幾家代理機構,但我只希望市場顯示一次。我的foreach循環看起來是這樣的:symfony在prepersist的foreach循環中添加來自數組集合的唯一值
if(count($this->getAgencies()) > 0){
foreach($this->getAgencies() as $agency) {
$this->addMarket($agency->getMarket());
}
}
}
這是行之有效的,只要我每個市場只選擇一個代理商。只要我爲一個市場選擇了幾家代理機構,它就不再工作了。要避免這種情況,我改變了代碼:
$markets = $this->getMarkets();
if(count($this->getAgencies()) > 0){
foreach($this->getAgencies() as $agency) {
if(!$this->markets->contains($markets)) {
$this->addMarket($agency->getMarket());
}
}
}
由於市場和機構都arraycollections,一個簡單的「in_Array」或「unique_array」是行不通的。所以我認爲「包含」是我應該用於arraycollections的函數。但顯然它不是.. 有沒有進一步的想法? :)
太感謝你了,它完美的作品! – sonja