TypeScript
class OrdersModel {
String id, email, name, phone, status, user_id, address;
int discount, total, created_at;
List<OrderProductModel> products;
OrdersModel({
required this.id,
required this.created_at,
required this.email,
required this.name,
required this.phone,
required this.address,
required this.status,
required this.user_id,
required this.discount,
required this.total,
required this.products,
});
// Convert Appwrite's Document to OrdersModel
factory OrdersModel.fromJson(Document doc, [Strings]) {
final data = doc.data;
return OrdersModel(
id: doc.$id,
created_at: data['created_at'] ?? 0,
email: data['email'] ?? '',
name: data['name'] ?? '',
phone: data['phone'] ?? '',
status: data['status'] ?? '',
address: data['address'] ?? '',
user_id: data['user_id'] ?? '',
discount: data['discount'] ?? 0,
total: data['total'] ?? 0,
products: List<OrderProductModel>.from(data['products']?.map((e) => OrderProductModel.fromJson(e)) ?? []),
);
}
// Convert a list of Documents to a list of OrdersModels
static List<OrdersModel> fromJsonList(List<Document> docs) {
return docs.map((doc) => OrdersModel.fromJson(doc)).toList();
}
}
class OrderProductModel {
String id, name, image;
int quantity, single_price, total_price;
OrderProductModel({
required this.id,
required this.name,
required this.image,
required this.quantity,
required this.single_price,
required this.total_price,
});
factory OrderProductModel.fromJson(Map<String, dynamic> json) {
return OrderProductModel(
id: json['id'] ?? '',
name: json['name'] ?? '',
image: json['image'] ?? '',
quantity: json['quantity'] ?? 0,
single_price: json['single_price'] ?? 0,
total_price: json['total_price'] ?? 0,
);
}
}```
TL;DR
Developers are confused about creating a product attribute. The code provided showcases how to convert a document to OrdersModel and a list of documents to a list of OrdersModels, including OrderProductModel.How can I create thus Product Attribute can any one tell me please!
Recommended threads
- User column is processing
I am still encountering the processing tag after creating a column in my database. and its not a network or refresh issue, i have refreshed over and over, shutd...
- MariaDB refuses to connect to appwrite
Earlier, I tried updating my Appwrite version from 18.1.x to the latest release because my Flutter package required it to function properly. I used the official...
- Custom API domain is unreachable
Earlier my custom api domain was working fine. Now it seems to be offline without a trace a few hours later. I didn't change anything, all the relevant DNS reco...