在scala anorm with mysql中,似乎在一个查询中多次连接同一个表并使用别名只返回查询中最后一个表的值。
最后一个连接似乎会自动覆盖所有以前的值,即使它有不同的别名。
参见下面的示例。
假设我有一张table mytable
```
id | name
1 | name1
2 | name2
而且在 `mymaintable` 记录: `myId1 = 1` 以及 `myId2 = 2` 如果我这样做了
SELECT
t1., t2.
FROM mymaintable AS m
JOIN mytable AS t1 ON t1.id = m.myId1
JOIN mytable AS t2 ON t2.id = m.myId2
我希望 `1, name1, 2, name2` 现在在anorm中我定义别名
val aliaser = new ColumnAliaser {
def as1 = ColumnAliaser.withPattern((0 to 2).toSet, "t1.")
def as2 = ColumnAliaser.withPattern((2 to 4).toSet, "t2.")
def apply(column: (Int, ColumnName)): Option[String] = as1(column).orElse(as2(column))
}
结果就是 `2, name2, 2, name2` 这是虫子吗?我做错什么了吗?
值得注意的是,我使用的是anrom2.5.3
暂无答案!
目前还没有任何答案,快来回答吧!