在Module Builder中,假设我想为宠物美容沙龙添加自定义模块Pets and Visits。
如果我希望能够从Pets模块中的逻辑钩子访问Visits,还可以访问Pets中的Pets,我还希望将每个访问显示为另一个中的面板,我应该:
我不知道Sugar的答案是否相同;我认为可能有一个不同的“模块构建器”类型的东西。
答案 0 :(得分:2)
就Sugar而言,如果你想在两个模块中都有一个面板,你需要一个多对多的关系。
但是,如果您希望将关系限制为每次访问最多一次宠物,那么一对多关系适合作为主要模块(L)和作为相关模块(R)的访问。 请注意,在Visits中,相关的Pet可能不会显示为面板,而是显示为这种关系的相关字段(至少在EditView中,在Record View中它可能仍然显示为SuiteCRM中的Panel,因为它使用Sugar的旧UI )。
无论哪种方式,都可以从双方访问关系,因此您不需要第二种关系)
PS:如果你想要一对多的关系但是一个面板,即使在另一个模块中只有一个记录可以随时链接到最多的一面,那么你可能通过首先创建多对多关系并调整关系的元数据以在代码中将true_relationship_type
设置为one-to-many
来实现此目的。