我正在尝试从TABLE_NAME
中的ProductTable
访问ProductImageTable
并将其放入查询中。我到处都在搜索如何访问它,到目前为止,我什么都没找到。希望您有所帮助,请:)
这是代码段:
abstract inner class ProductTable : Table() {
val TABLE_NAME: String = "product"
}
abstract inner class ProductImageTable : Table() {
val SQL_CREATE_TABLE : String = "CREATE TABLE $TABLE_NAME" +
" ($_ID$ID_TYPE_AUTO_INC$COMMA_SEP" +
"$COLUMN_PRODUCT_UUID$TEXT_TYPE_NOT_NULL$COMMA_SEP" +
"$COLMUN_LOCAL_IMAGE_FILE$TEXT_TYPE_NOT_NULL_EMPTY$COMMA_SEP" +
"$COLUMN_SERVER_IMAGE_URL$TEXT_TYPE_NOT_NULL_EMPTY$COMMA_SEP" +
"FOREIGN KEY($COLUMN_PRODUCT_UUID) REFERENCES ${ProductTable.TABLE_NAME}(${ProductTable.COLUMN_PRODUCT_UUID}) ON UPDATE CASCADE ON DELETE CASCADE)"
}
答案 0 :(得分:0)
尝试
abstract inner class ProductImageTable : ProductTable() {
如果您从该字段所在的类继承,那么您应该可以访问它。
您还可以将TABLE_NAME设置为const
(有关常量的更多信息,请参见https://stackoverflow.com/a/37596023/2399024)
const val TABLE_NAME: String = "product"
顺便说一句:也许您可能想使用https://developer.android.com/jetpack/androidx/releases/room而不是手动执行SQL查询工作