Добрый вечер (для меня), я Emanuele молодой разработчик Android.
Я хочу поделиться с вами своей проблемой, потому что не могу найти хорошее решение.
У меня 3 таблицы (на самом деле 5)
posts
categories
posts_categories
для создания отношения "многие ко многим" между сообщениями и категориями
Я создал ListFragment, чтобы показать все мои сообщения с их категориями.
Итак, я создал этот запрос (я не пишу весь код :))
SELECT posts._id, posts.post_title, categories.category_name
FROM posts
LEFT OUTER JOIN posts_categories
ON posts_categories.post_id=posts.post_id
LEFT OUTER JOIN categories
ON posts_categories.category_id=categories.category_id;
Так что, если у меня есть 2 поста с 2 категориями, каждый запрос вернет 4 записи. Я ошибся?
Так что в моем курсоре у меня есть 4 записи, но мне действительно нужно собрать данные из курсора и отобразить только то, что мне действительно нужно.
В этом случае я не могу использовать CursorAdapter для отображения моих данных, потому что он вставит 4 элемента в ListFragment.
И я не хочу загружать только сообщения и затем для каждой категории загрузки сообщений, потому что, если у меня есть 100 сообщений, я сделаю 1 запрос, чтобы выбрать все сообщения, и 100 запросов, чтобы выбрать категории.
Что я могу сделать? Мне нужен совет специалиста! Какой лучший способ справиться с этой ситуацией?
Вы когда-нибудь сталкивались с этой проблемой?
Большое спасибо. Эмануэле Риччи.