很抱歉,如果这是一个超级菜鸟问题,但基本上我是这个代码:
def testGroup(uid : String) = {
for{
group <- groups if group.gid === uid
subtopic <- subtopics if subtopic.stgroupid === uid
} yield (group,subtopic)
}
如果我的查询找不到它的stgroupid与uid相同的任何子主题,那么查询返回一个空向量,我希望它返回该组,并为sutopic提供null或甚至更好,选项类型无。
我正在阅读加入和压缩1,似乎我需要使用左连接,因为这个查询不是什么大问题,但是我使用leftJoin的其他查询可能不是这样明确,如:
def getGroup(uid: String) = {
for {
group <- groups if group.gid === uid
groupToRelated <- relatedgroups if groupToRelated.rgid === group.gid //must use a foreign key here
related <- groups if groupToRelated.rgrelatedid === related.gid
subtopic <- subtopics if subtopic.stgroupid === uid
article <- articles if article.asuttopicid === subtopic.stid
} yield (group, subtopic, article)
}
在这里,相关的子主题文章可以返回一个空结果,我希望可以处理它,如果例如,查询没有返回sutopic我只能返回组名称然后...
谢谢!