6

私のアプリケーションには、次のように設計された関係があり 関係の説明 ます。少なくとも 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());
    }
}
4

1 に答える 1