Мой Firebase Storge
из изображения выше, я хочу получить все сухое молоко на основе штрих-кода одного из них
var query: Query = FirebaseDatabase.getInstance().getReference("Barcode")
.orderByChild("itemBarcode")
.equalTo(read)
где 'read' - это номер штрих-кода, я получаю только один элемент, вместо этого я хочу получить все типы элементов и их вес на основе номера штрих-кода, например: SELECT itemWieght, itemName, itemPrice FROM barcode WHERE itemBarcode.itemType = itemType
или что-то вроде
EDIT:
вот моя часть кода, если это поможет
var query: Query = FirebaseDatabase.getInstance().getReference("Barcode")
.orderByChild("itemBarcode")
.equalTo(read)
//Adapter
query.addValueEventListener(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
myBarcodeArray?.clear()
for (r in p0.children) {
var infoHolder = r.getValue(BarcodeInfo::class.java)
myBarcodeArray!!.add(infoHolder!!)
}
val infoAdapter = BarcodeResultAdapter(applicationContext, myBarcodeArray!!)
view.listOfBarcodeResult.adapter = infoAdapter
}
})
РЕДАКТИРОВАТЬ 2: Я также пытался использовать 2 запроса, но он показывает пустые результаты
myDataRef?.child("Barcode")?.orderByChild("itemBarcode")?.equalTo(read)?.addListenerForSingleValueEvent(object : ValueEventListener{
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
var result = p0.getValue(BarcodeInfo::class.java)
myDataRef?.child("Barcode")?.orderByChild(result?.itemWeight.toString())?.equalTo(read)?.addValueEventListener(object : ValueEventListener{
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
for (r in p0.children){
var holder = r.getValue(BarcodeInfo::class.java)
myBarcodeArray!!.add(holder!!)
}
val infoAdapter = BarcodeResultAdapter(applicationContext, myBarcodeArray!!)
view.listOfBarcodeResult.adapter = infoAdapter
}
})
}
})