0
在我的实体预先冲洗功能,我有以下的代码如何在Symfony中从arraycollection逻辑中删除已删除的条目?
$markets = $this->getMarkets();
if(count($this->getAgencies()) > 0){
foreach($this->getAgencies() as $agency) {
if(!$this->markets->contains($agency->getMarket())) {
$this->addMarket($agency->getMarket());
}
}
}
所以基本上我做什么,我创建的文件,这会被分配给机构和这些机构属于不同的市场。由于有更多的机构而不是市场,我不想在那里出现重复的市场,所以我执行了if条件。现在添加作品非常好。 但是,当我想编辑我的文档,例如删除一个代理机构,让我们说美国(=市场),并且美国没有其他代理机构分配给该文档,我希望美国完全从该文档中删除。我坚持这背后的逻辑。
因此,如果待取消的代理/市场没有包含在剩余市场中,应该删除,但是如果还有其他代理商离开该市场,市场应当(当然)不应该被删除。
市场和代理商都是我的文档实体内的ArrayCollections,所以removeMarket函数存在!
我告诉过你,我已经有了这个方法。看看我的最后一段:“市场和代理商都是我的文档实体中的ArrayCollections,所以removeMarket函数存在!” 我有逻辑问题! – sonja
我不完全明白你的意思。 我觉得我必须使用preFlush方法。但我想知道** LOGIC **。所以如果我的条件或foreach或任何我需要的将是什么样子。我如何检查市场是否需要移除? – sonja
好吧,这个逻辑它在文档实体的preFlush中? – Cuchu