У меня есть база данных firebase с 2 соответствующими коллекциями: «продукты» и «категории».
Я хотел бы отображать продукты в списке, сгруппированном по их категориям.
В каждом В документе продукта есть поле 'category', которое является идентификатором категории.
Прямо сейчас у меня есть этот код для создания списка:
StreamBuilder(
stream: Firestore.instance.collection('products').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return const Text("Loading...");
return ListView.builder(
itemBuilder: (context, index) => buildProductItem(context, snapshot.data.documents[index]),
itemCount: (snapshot.data.documents.length),
);
}
)
Я пробовал несколько вещей ( вот так: вопрос ), но я хочу сохранить его в StreamBuilder, чтобы данные по-прежнему обновлялись в реальном времени.
Как мне сгруппировать их, чтобы я мог отображать заголовок над каждой группой и продукты, соответствующие названию внизу?