gpt4 book ai didi

android - 匹配多列的房间关系

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:30 26 4
gpt4 key购买 nike

实体之间的关系应该是这样的:

概览 -> 有很多 -> 类别 -> 有很多 -> 交易

如果 Category.overviewId == Overview.id,类别应该包含在 Overview 中。我很确定我应该能够使用 @Relation 注释来实现这一点,比如:

@Relation(parentColumn = 'id', entityColumn = 'overviewId')
List<Category> categories;

在 Category 实体中,我想包含任何交易,其中 Transaction.overviewId == Category.overviewId && Transaction.categoryId == Category.categoryId。这是我正在努力解决的部分,因为 @Relation 注释似乎只能考虑 1 列。我想我想要这样的东西:

@Relation(parentColumn = {'overviewId','categoryId'}, entityColumn = {'overviewId','categoryId'})
List<Transaction> transactions;

但这似乎不是一种有效的做事方式。有谁知道我应该如何实现这一目标?我想最终我希望能够观察到一个查询,该查询将在相关概述、类别或事务更新时更新,因此将类别和事务嵌入概述中似乎是最好的方法,但如果有更好的方法很高兴听到它。

最佳答案

有同样的问题,想出了@Transaction

@Query("SELECT * FROM store_table WHERE userId = :userId AND storeId = :storeId")
fun getStore(storeId:String, userId:String): StoreDb?

@Query("SELECT * FROM product_table WHERE userId = :userId AND storeId = :storeId")
fun getProducts(storeId:String, userId:String):List<ProdusctsDb>

@Transaction
fun getStoreWithProducts(storeId:String, userId:String): StoreWithProductsDb{
val storeDb: StoreDb = getStore(storeId,userId) ?: return null
val products = getProducts(storeId,userId)
return StoreWithProductsDb(storeDb, products)
}

其中 StoreWithProductsDb 是普通数据类

data class StoreWithProductsDb(val storeDb: StoreDb, val products: List<ProductsDb>)

PS:刚才采用的例子所有名字都是随机的

关于android - 匹配多列的房间关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51475631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com