我有什么: 我有用户,可能与其他用户有关。
不喜欢父母'或' 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,我会非常肮脏地做这件事......那将是一种耻辱。
非常感谢!
答案 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并查看不同的关系名称。