Из прочтения я понял, что для реализации моих отношений «многие ко многим» нужно было иметь отдельную «Таблицу маршрутизации». Вот пример того, как я это сделал:
CREATE TABLE Places (_id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE Tags (_id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE RoutingTable_PlacesTags (places_id INTEGER, tag_id INTEGER, FOREIGN KEY(places_id) REFERENCES Places(_id), FOREIGN KEY(tag_id) REFERENCES tags(_id));
В моем вспомогательном классе базы данных я хочу иметь метод, который возвращает Курсор для всех строк в Местах, имеющих определенный тег, Курсор fetchPlaces (int tagID) . (Чтобы разрешить фильтрацию по тегу в приложении)
Каков будет правильный / лучший способ реализации этого?
Я собирался запросить RoutingTable_PlacesTags, использовать возвращаемый курсор для создания массива / списка идентификаторов мест, а затем вызвать другой метод, который я вызываю, передавая список / массив идентификаторов, который возвращает их все. Хотя я знаю, что это сработает, я уверен, что должен быть намного более чистый способ сделать это?
Спасибо.