我试图找到一种方法来找到特定实体的关系,比如一个被删除的目标。
示例设置:
Country
实体可以包含多个Currencies
。 Currency
实体可以Countries
。 Country
可能有Currency
。因此,设置为:Country <-> (1-n) <-> CountryCurrency <-> (n-1) <-> Currency
。
在上面的示例中,如果有针对性删除的国家/地区有任何关联的货币,则很容易找到。
但是,想象一下,上述内容是以全局方式设置的,可用于应用程序中的其他模块。
如果另一个模块Address
例如在单向关系中使用了国家/地区(Address
只有一个Country
):我怎么能弄清楚如果不尝试并因此收到Country
错误,则可能无法删除特定的Foreign Key constraint
实体?
我希望Doctrine有内置的功能,但是还没有能够在文档中找到它。谷歌现在已经有一段时间没有成功了。始终处于以下趋势:&#34;嗯,您只是$entity->getSomeRelation()->count() > 0
并且您知道&#34;,但我正在寻找可以应用于任何实体的通用解决方案/方法。
答案 0 :(得分:1)
它没有通用的解决方案,因为它总是取决于您的业务模式。
删除具有关系的实体可能会导致不同的情况:
因此,根据您的具体情况,您可以自行检查。