У меня есть следующая модель данных:
class StadiumOccupant {
String stadiumname;
String username;
}
class Friend {
String username;
String friendname;
}
Я хочу найти всех пользователей на стадионе, которые также являются моими друзьями. Я могу сделать это так:
List<String> friendsAtStadium;
String stadiumId = 'xyz';
List<Friend> friends = select from Friend where username = 'me';
for (Friend friend : friends) {
List<StadiumOccupant> friendAtStadium =
select from StadiumOccupant where
stadiumname = stadiumId and
username = friend.friendname;
friendsAtStadium.addAll(friendAtStadium);
}
Это может работать с очень небольшим количеством объектов. Как только у пользователя будет больше, чем несколько друзей, это не сработает. Есть ли решение для этого на движке приложения? Я не могу думать о том, что хорошо работает.
Спасибо
-------- Некоторые примеры данных --------
Friend { john, tim }
Friend { john, mary }
Friend { mary, frank }
StadiumOccupant { abc, tim }
StadiumOccupant { abc, frank }
StadiumOccupant { abc, kim }
поэтому, если я пользователь 'john', мои друзья: {tim, mary}.
если бы я запустил запрос к стадиону с stadiumname = 'abc', я должен был бы вернуться {tim}.