我有两个桌子。表A和表B。我将Android与Room和反应性流一起使用ktx。
The Table A has two columns Title, Ids.
Row 1 - ['example', '1,2,3,4'].
The Table B has two columns Id, Desc.
Row 1 - [1, 'long desc']
Row 2 - [2, 'long desc 2'].
我正在使用Flowable从数据库中获取数据,但是它们是两个不同的流。
如何获取表B中具有ID在表A中的行的列表。表A将表B的ID存储为字符串。
答案 0 :(得分:0)
我不知道您的用例的细节,但是您是说这样吗?
interface TableADao {
fun findById(id: Long): Flowable<ItemA>
}
interface TableBDao {
fun findByIds(ids: Array<Long>): Flowable<List<ItemB>>
}
tableADao.findById(id)
.switchMap { itemA ->
val ids = someLongArrayConverter(itemA.ids)
tableBDao.findByIds(ids)
}
.subscribe { itemBList ->
Log.d("result", itemBList)
}