@Query("""
SELECT notes.*
FROM notes
INNER JOIN categories ON notes.categoryId = categories.id
WHERE categories.isPassword IS NULL OR categories.isPassword = 0
""")
fun getNotes(): Single
Я не хочу показывать заметки, если категория зашифрована.
Сначала заметки в зашифрованной категории не отображаются, но когда я удаляю пароль категории, они больше не появляются.
Проблема с паролем в данных заметки для нас не важна, она служит только для шифрования заметки.
Даже если я сделаю запрос таким образом, заметки категории, пароль которой я удалил, больше не будут доступны. появиться.
@Query("SELECT * FROM notes")
fun getNotes(): Single
NoteData
@Entity(tableName = "notes",
foreignKeys = [ForeignKey(
entity = CategoryData::class,
parentColumns = ["id"],
childColumns = ["categoryId"],
onDelete = ForeignKey.CASCADE
)])
data class NoteData(
@ColumnInfo(name = "title")
var title: String? = null,
@ColumnInfo(name = "description")
var description: String? = null,
@ColumnInfo(name = "category")
var category: String? = null,
@ColumnInfo(name = "date")
var date: Long,
@ColumnInfo(name = "isPassword")
var isPassword: Boolean? = null,
@ColumnInfo(name = "images")
var images: List? = null,
@ColumnInfo(name = "categoryId")
var categoryId: Int? = null
) : Serializable {
@PrimaryKey(autoGenerate = true)
var id: Int = 0
}
Данные категории
@Entity(tableName = "categories")
data class CategoryData(
@ColumnInfo(name = "name")
var name: String,
@ColumnInfo(name = "isPassword")
var isPassword: Boolean? = null
) : Serializable {
@PrimaryKey(autoGenerate = true)
var id: Int = 0
}
Модуль базы данных
@Module
@InstallIn(SingletonComponent::class)
object DatabaseModule {
@Provides
@Singleton
fun provideDatabase(@ApplicationContext context: Context): NoteDatabase =
Room.databaseBuilder(context, NoteDatabase::class.java, "notes")
.fallbackToDestructiveMigration().build()
@Provides
@Singleton
fun provideDao(db: NoteDatabase) = db.getNoteDao()
@Provides
@Singleton
fun provideCategoryDao(db: NoteDatabase) = db.getCategoryDao()
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... oid-kotlin
Данные не поступают в запрос в базу данных Oda в Android Kotlin ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SQLite в Kotlin Android Запрос INSERT INTO не вставляет данные в базу данных
Anonymous » » в форуме Android - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-