|
|
1
1
您可以这样做:
你要做的就是同时抓住所有的预约和他们的相关病人。你不必担心病人和医生之间的关系,因为所有检索到的人行都是病人记录。 为了有一个以医生为中心的列表,只需在上面的示例中更改:patient to:doctor。
编辑:当你急着给病人和医生装药时,我就想出了解决办法。它变得有点复杂。首先,我在一个空白的Rails应用程序中重新创建了4个模型的简单版本,然后尝试使用
当然,如果失败,但它也会吐出它尝试的SQL查询:
现在我们可以看到Rails是如何形成这样的查询的。使用给定表的第一个关联直接获取表名-“People”。随后的关联会得到关联和原始表的组合-“医生预约”。 可能看起来有点乱,但这个电话让您按病人的顺序进行:
这个给你的是医生的命令:
当然,在我的示例中,我只是为每个人提供了一个简单的名称字段,而您将使用“姓氏”。但你明白了。这对你有用吗? 最后一个编辑: 我将把这些放在finders中,这样您就不必在代码中的任何地方乱用表名了。我会这样做:
现在,您可以从任何地方调用它们,甚至可以根据需要的字段进行排序。 |
|
|
2
0
我认为您可能需要使用手动联接而不是include。 见 Active Record Querying Guide on Joining Tables . 然后,您可以为表名创建别名,并相应地对这些别名进行排序。
或者类似的数据库。 或者,您可以添加一个包含整数的“排序”列。所有医生都有1,病人有0。然后,您可以按姓氏、排序列排序,结果将根据医生/患者排序值在姓氏组中进行相应排列。 注意:今天早上我还没有喝咖啡,所以加入可能完全是疯了,但你得到了我希望的一般想法。 |