6
내 응용 프로그램에 다음과 같이 설계된 관계가 있습니다. 적어도 하나의 사용자가 친구로있는 모든 채팅을 선택하려고합니다. 나는 GreenDao 라이브러리에서이를 실행할 수있는 방법을 찾기 위해 관리하지 않은 사람이 나를 도울 수있을 것입니다 기대했다GreenDao deeply queries with n : m relationships
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
:
는 기본적으로,이 쿼리를 실행합니다.
편집 :
이것은 내가가 가지고있는 지금에 : grrendao 순간에 QueryBuilder.join()
-methods를 구현하지 않기 때문에
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());
}
}
'T'가 이미 촬영되어 다음
당신이 원하는
list()
-methods을 사용할 수 있습니다 'QueryBuilder' – thepoosh맞습니다. 그리고 그것을 사용하는 것이 목적입니다. 'queryRawCreate()'는'SELECT T. * From YourTable T'와 같은 질의를 생성합니다. 따라서'FROM' 절을 확장하고'where' 절을 추가 할 수 있습니다. – AlexS
오, 오케이 ... 나는 그것을 시도하고 실패했다. 곧 다시 시도 할 것입니다 – thepoosh