Как объединить таблицы в ObjectBox flutter

В моем проекте flutter я выполняю автономный модуль с использованием базы данных objectBox. В этом модуле у меня есть три таблицы: таблица ItemMaster, таблица customerMaster и таблица customerWiseStock . У меня есть данные таблиц itemMaster и customerMaster, и я хочу получить запас, это зависит от itemId (ItemMaster) и salestypeId (CustomerMaster) .

Как кому-нибудь помочь?

здесь я прикрепил изображение для справки.

2 ответа

Вот как вы обычно подходите к этому с помощью ObjectBox:

  1. Определите отношения между вашими объектами (вам не нужно моделировать свойства ID)
  2. Определите свой запрос для основного типа результата и используйте ссылки, чтобы «присоединиться» к другим типам в запросе.
  3. Из объектов результата вы просматриваете отношения от объекта «основного типа», чтобы получить другие типы и, таким образом, к любому свойству.

Примечание. ObjectBox работает очень быстро, когда дело доходит до создания объектов. Так что обход связанных объектов обычно не проблема.

С помощью ObjectBox нельзя смешивать «столбцы» с отдельными «таблицами». Он статически типизирован (и имеет статическую схему), что означает, что объекты Dart сопоставляются непосредственно с данными, хранящимися в базе данных. То, что вы описываете, - это то, что вы ожидаете от базы данных SQL с динамическими результатами (тип Dart может быть чем-то вроде List<Map<String, dynamic>>).

Если вы хотите использовать базу данных объектов (не ограничиваясь ObjectBox), я предлагаю вам подумать о денормализации ваших данных там, где это имеет смысл.

Другие вопросы по тегам