如何检查bean是否相关

时间:2013-03-06 09:31:30

标签: php mysql relationship sugarcrm

我是SugarCRM的新手,我想了解一些关系。我有一个bean可以说帐户和数据库中记录的ID,让我们说联系。现在我想知道此记录是否已与该帐户相关。

据我所知,有几种方法可以获得结果

  1. 直接在相关表格中的数据库上执行SQL查询
  2. 从Account加载关系并循环遍历bean,看看我是否能找到提供了记录ID的bean。
  3. 对我来说,两者似乎都有些笨拙。我想知道是否有更好的方法来解决这个问题。我希望link2类中有一个'contains'或'has'方法,但不幸的是情况并非如此。

1 个答案:

答案 0 :(得分:2)

我知道没有办法做到这一点;但是Bean框架中可能存在一些东西。

通常我在SugarCRM中使用大型数据集和批处理,所以我只使用原始SQL查询来处理大多数事情。它们比Bean Framework快得多(根据我的经验,速度快100到1000倍),查询代码很容易放入一些简单的实用函数。

原始SQL方法的缺点是SugarCRM中的每种不同类型的Bean都可以以不同的方式与其他Bean相关联。也就是说,他们并非都使用相同的惯例 - 例如accounts_contacts表处理帐户和联系人之间的关系,而对于报价,报价中只有一个名为account_id的字段。

因此,您不能只编写一个SQL关系搜索实用程序函数并完成它。对于您将要搜索的每个bean组合,您需要一个单独的组合。

对我来说,这是最好的选择,无论是因为与大量豆类合作时的效率问题。

如果您正在处理批处理数据,那么即使Bean Framework中有一个简单的函数来进行关系查找,也一定要使用SQL方法。

归结为您需要运行代码的效率和速度。