私のアプリケーションには、次のように設計された関係があり ます。少なくとも 1 人のユーザーが友達であるすべてのチャットを選択しようとしています。
基本的に、このクエリを実行したい:
SELECT c.* FROM CHAT c, USER u, UserChats uc
WHERE c.type = myType
AND u.isFriend = 1
AND c.id = uc.chatId
AND u.id = uc.userId
GreenDao ライブラリでこれを実行する方法を見つけることができず、誰かがこれを手伝ってくれることを望んでいました。
編集:
これは私が今まで持っているものです:
List<UsersChats> list = usersChatsDao.queryDeep(
"WHERE T0." + UserDao.Properties.isFriend.collumnName + " = ? "+
"AND T1." + ChatDao.Properties.type.collumName + " = ?",
new String[] {"1", myType});
if(list != null && list.isEmpty() == false) {
List<Chat> chats = new ArrayList<Chat>();
for(UsersChats link : list) {
chats.add(link.getChat());
}
}