【发布时间】:2020-05-20 11:30:30
【问题描述】:
这是我的桌子:
@Parcelize
@Entity(tableName = "profile")
data class Profile(
@SerializedName("id") @PrimaryKey var id:Long,
@SerializedName("name") var name :String?,
@TypeConverters(UserConverter::class)
@NotNull
@SerializedName("users") var users :List<Long>?
):Parcelable
这是我的第二张桌子:
@Parcelize
@Entity(tableName = "user")
data class User(
@PrimaryKey
@SerializedName("id") var id: Long,
@SerializedName("name") var name: String
) : Parcelable
我想得到这个对象:
data class ProfileWithUsersName(
val profile: Profile,
val usersName: List<String>?
)
为了得到这个对象列表,我这样做:
fun getProfiles() :List<ProfileWithUsersName>{
val arrayListTemp = arrayListOf<ProfileWithUsersName>()
val profiles = profileDao.getProfiles()
for(profile in profiles){
if(profile.users != null) {
arrayListTemp.add(
ProfileWithUsersName(
profile,
userDao.getUsersNameByIds(profile.users!!)
)
)
}else{
ProfileWithUsersName(
profile,
null
)
}
}
return arrayListTemp.toList()
}
对一个查询执行此操作是否有任何更改?
【问题讨论】:
-
如何使用join?你可以关注this
-
@KasımÖzdemir 我没有关系表
-
我解释了如何连接有关系和没有关系的表
-
@KasımÖzdemir 我不明白我该怎么做
标签: android android-room