我在我的应用程序中有一个这样设计的关系: 我正在尝试选择所有至少有一个用户作为朋友的聊天。
基本上,我想执行这个查询:
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());
}
}