Sugarcrm加载与Bean的一对一关系

时间:2014-04-23 09:26:58

标签: relationship sugarcrm one-to-one

我有什么: 我有用户,可能与其他用户有关。

不喜欢父母'或' referer',但喜欢" assistante"

所以,我在用户和...用户之间建立了一对一的关系。我的表名是" users_users_1_c"。我的第一个用户ID存放在users_users_1users_idb中,我的帮助ID存放在users_users_1users_ida下。

我想要的:

我必须编写一个逻辑钩子,在那个,我必须获取用户是否有助手。

我尝试了什么:

所以,我尝试了$myUser->load_relationship('users_users_1_c');$myUser->load_relationship->('users');

我使用下面的代码测试了两者(当然是通过改变关系的名称)

if($myUser->load_relationship('users'){ var_dump("Relationship!");die(); }

但什么都没发生。

我所知道的:

我已经阅读了这些并测试了这些解决方案,但他们也没有工作:

John Dope's get_related_bean links

Sugar's doc about fetching relationships

那么,请问,你能告诉我如何加载一对一的关系,更好的是,通过使用bean来加载同一模块的两个记录之间的关系吗?或者,通过使用纯SQL,我会非常肮脏地做这件事......那将是一种耻辱。

非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为你是在Link类的getBeans()方法之后。像这样工作:

$myUser->load_relationship('users_users_1_c');
$user_list = $myUser->users_users_1_c->getBeans();
foreach($user_list as $user){
  // handle $user that you found
}

另一种简写:

$myUser->load_relationship('users_users_1_c');
foreach($myUser->users_users_1_c->getBeans() as $user){
  // handle $user that you found
}

所有这些都假设users_users_1_c是关系的正确名称。要验证或仔细检查,请深入了解/custom/modules/Users/Ext/Vardefs/vardefs.ext.php并查看不同的关系名称。