Android 在firestore文档中将数组更改命名约定更新为驼峰大小写
我有一个产品的数组列表,当我使用update方法将其设置为firestore document时,尽管我的模型中的变量名是CapWords,但变量的命名将变成驼峰大小写。所以你可以在第一个屏幕截图中看到产品的元素是CapWords,但当我更新它时,它会毫无理由地变成驼色Android 在firestore文档中将数组更改命名约定更新为驼峰大小写,android,firebase,kotlin,google-cloud-firestore,naming-conventions,Android,Firebase,Kotlin,Google Cloud Firestore,Naming Conventions,我有一个产品的数组列表,当我使用update方法将其设置为firestore document时,尽管我的模型中的变量名是CapWords,但变量的命名将变成驼峰大小写。所以你可以在第一个屏幕截图中看到产品的元素是CapWords,但当我更新它时,它会毫无理由地变成驼色 override fun onProductClicked(sku: FirebaseProduct) { skuItems[0].StatusId = 123 //try to update element in array
override fun onProductClicked(sku: FirebaseProduct) {
skuItems[0].StatusId = 123 //try to update element in array of products
FirestoreHelper.update(skuItems)}
fun update(skuItems: ArrayList<FirebaseProduct>) {
db.collection(Constants.PURCHASE_RECEIPTS).document(1.toString())
.update("Products", skuItems)} //when i updated the array all the object names turned into camle-case
向我们展示您模型类的内容。我无法在您的
FirebaseProduct
a类属性产品
类型列表中看到。它在哪里?@AlexMamo我用Firebasepr模型类再次更新了它,该模型类中包含产品作为列表显示您模型类的内容。我无法在您的FirebaseProduct
class a属性products
类型列表中看到。它在哪里?@AlexMamo我用Firebasepr模型类再次更新了它,其中包括作为列表的产品
class FirebasePR {
constructor()
constructor(
maxabPurchaseReceiptId: Long,
StatusId: Long?,
PoId: Long?,
ScannedAt: String?,
EndedAt: String?,
maxabWarehouseId: Long?,
maxabDeliveryDate: String?,
ReceiverId: Long?,
AreaId: Long?,
AdminId: Long?,
Products: List<FirebaseProduct>?,
NumOfRemaining: Long?,
NumOfReceived: Long?
) {
this.MaxabPurchaseReceiptId = maxabPurchaseReceiptId
this.StatusId = StatusId
this.PoId = PoId
this.ScannedAt = ScannedAt
this.EndedAt = EndedAt
this.MaxabWarehouseId = maxabWarehouseId
this.MaxabDeliveryDate = maxabDeliveryDate
this.ReceiverId = ReceiverId
this.AreaId = AreaId
this.AdminId = AdminId
this.Products = Products
this.NumOfRemaining = NumOfRemaining
this.NumOfReceived = NumOfReceived }
var MaxabPurchaseReceiptId: Long? = null
var StatusId: Long? = null
var PoId: Long? = null
var ScannedAt: String? = null
var EndedAt: String? = null
var MaxabWarehouseId: Long? = null
var MaxabDeliveryDate: String? = null
var ReceiverId: Long? = null
var AreaId: Long? = null
var AdminId: Long? = null
var Products: List<FirebaseProduct>? = null
var NumOfRemaining: Long? = null
var NumOfReceived: Long? = null}
class FirebaseProduct {
constructor()
constructor(
CreatedAt: Timestamp,
UpdatedAt: Timestamp,
MaxabProductPurchaseReceiptId: Int,
MaxabPackingUnitId: Int,
MaxabProductId: Int,
MaxabBasicUnitCount: Int,
IssuedCount: Int,
ReceivedCount: Int,
ReceivedAt: Timestamp,
EndedAt: Timestamp,
StatusId: Int,
Quality: Boolean,
ExpirationDate: Timestamp,
ProductCode: String,
MaxabBasicUnitId: Int,
PalletsNumber: Int,
MaxabProductNameAr: String,
MaxabPackingUnitNameAr: String,
MaxabProductImage: String
) {
this.CreatedAt = CreatedAt
this.UpdatedAt = UpdatedAt
this.MaxabProductPurchaseReceiptId = MaxabProductPurchaseReceiptId
this.MaxabPackingUnitId = MaxabPackingUnitId
this.MaxabProductId = MaxabProductId
this.MaxabBasicUnitCount = MaxabBasicUnitCount
this.IssuedCount = IssuedCount
this.ReceivedCount = ReceivedCount
this.ReceivedAt = ReceivedAt
this.EndedAt = EndedAt
this.StatusId = StatusId
this.Quality = Quality
this.ExpirationDate = ExpirationDate
this.ProductCode = ProductCode
this.MaxabBasicUnitId = MaxabBasicUnitId
this.PalletsNumber = PalletsNumber
this.MaxabProductNameAr = MaxabProductNameAr
this.MaxabPackingUnitNameAr = MaxabPackingUnitNameAr
this.MaxabProductImage = MaxabProductImage
}
var CreatedAt: Timestamp? = null
var UpdatedAt: Timestamp? = null
var MaxabProductPurchaseReceiptId: Int? = null
var MaxabPackingUnitId: Int? = null
var MaxabProductId: Int? = null
var MaxabBasicUnitCount: Int? = null
var IssuedCount: Int? = null
var ReceivedCount: Int? = null
var ReceivedAt: Timestamp? = null
var EndedAt: Timestamp? = null
var StatusId: Int? = null
var Quality: Boolean = false
var ExpirationDate: Timestamp? = null
var ProductCode: String = ""
var MaxabBasicUnitId: Int = 0
var PalletsNumber: Int = 0
var MaxabProductNameAr: String = ""
var MaxabPackingUnitNameAr: String = ""
var MaxabProductImage: String = ""}