1

Sugar ORmを使用しており、次のクエリを使用する必要があります。

public void selectByfriendId(String fId , int lastMsgId){
   select from table where (senderId = fId or receiverId = fId) and 
                           ( show = "1" and msg_Id > lastMsgId)
}

そしてThat5は私の方法です:

public List<Chat> selectById(String cId , String fId , int lastMsgId){
    Select showChats = Select.from(Chat.class)
            .where(Condition.prop("senderid").eq(fId) ,
            Condition.prop("show").eq("1") , Condition.prop("msg_Id").gt(lastMsgId))
            .or(Condition.prop("receiverid").eq(fId), Condition.prop("show").eq("1") , 
            Condition.prop("msg_Id").gt(lastMsgId));
    Log.v(G.Logs.DB , "MessagesStack DataBase.SelectById showChats.list().size : " + showChats.list().size());
    return  showChats.list();
}

そして、これを試しました:

    List<Chat> array = Chat.find(Chat.class , "(senderid = ? OR receiverid = ?) AND (show = ? AND msg_Id > ?)", fId , fId , "1" , ""+lastMsgId);

しかし、テーブル内の行全体が表示されます

4

0 に答える 0