有沒有一種方法可以通過與greenDao相關表中的字段進行排序?例如。我有一張汽車桌和一張司機桌。每輛車都有一名司機。現在我想查詢(例如藍色)汽車並按驅動程序的名稱排序greendao根據相關表格中的字段排序
5
A
回答
4
在QueryBuilder中,有一些方法可以指定排序順序。尋找以「order ...」開頭的方法,例如orderAsc(物業)。
4
我現在也玩GreenDao,希望我在第一個回答和queries part of the greenDao documentation中的說明有所幫助。
下面的代碼片斷應該工作(沒有測試:)):
Query query = carsDao.queryRawCreate( ", driver D WHERE T.COLOR='blue' AND T.DRIVER_ID=D._ID ORDER BY D.NAME ASC");
這將創建一個內部SQL類同此:
SELECT T.'id', T.'name', T.'color', T.'driver_id'
FROM cars T, driver D
WHERE T.COLOR='blue'
AND T.DRIVER_ID=D._ID
ORDER BY D.NAME ASC
聲明的第一部分是創建對於你的queryRawCreate方法,剩下的就是傳遞給queryRawCreate
的自定義sql語句。如果您想知道JOIN語句的位置,請參閱this question。
0
您可以將QueryBuilders與由greendao ORM生成的Dao's一起使用。
定義使用
ProductDao productDao;
DaoSession daoSession;
之前,您應該把您的應用範圍的DaoMaster和DaoSession。在擴展Application的類的onCreate()內部。
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(getApplicationContext(), "app-db", null);
SQLiteDatabase db = helper.getWritableDatabase();
daoSession = new DaoMaster(db).newSession();
初始化您使用
daoSession = ((MyApplication) getApplication()).getDaoSession();
productDao = daoSession.getProductDao();
之前,您可以將結果像這種在活動中顯示。
private void refreshProducts() {
switch (sorted_by){
case SORT_BY_DATE:
cardItems = productDao.queryBuilder().orderAsc(ProductDao.Properties.Id).list();
setupRecyclerView();
break;
case SORT_BY_PRICE:
cardItems = productDao.queryBuilder().orderDesc(ProductDao.Properties.Price).list();
setupRecyclerView();
break;
case SORT_BY_POPULARITY:
cardItems = productDao.queryBuilder().orderDesc(ProductDao.Properties.Name).list();
setupRecyclerView();
break;
}
}
相關問題
- 1. 根據Django相關字段中的計數排序
- 2. 根據字段關聯排序集合
- 3. Solr根據相關性排序和包含多個字段
- 4. django相關字段排序
- 5. 根據太陽黑子中的關聯字段排序
- 6. SQL:根據相關表中的條目即時計算字段
- 7. 根據相關表中的條件更新了SQL字段
- 8. Rails的activerecord按相關表中的字段排序
- 9. 按相關(屬於)表中的字段排序查詢?
- 10. 根據輸入的關鍵字排序
- 11. 排序在GreenDAO
- 12. Django:根據中間表字段排序的prefetch_related結果
- 13. 根據其字段中的1對對象列表排序
- 14. 根據關聯表下字段的平均值對列表進行排序
- 15. 根據ID的相關列表重新排序集合
- 16. 根據不同表格中的關鍵字對結果進行排序
- 17. 根據字段排序多行
- 18. ElasticSearchDSL:根據相關性或其他字段排序如果設置
- 19. 更新表格字段更新後的相關表格中的字段
- 20. 顯示來自Silverlight數據網格中相關表的字段
- 21. 根據關鍵字進行Java排序
- 22. 根據字段中字數的MySQL相關搜索
- 23. 根據字段的值加入表格
- 24. 排序依據相關表的總和
- 25. 根據關聯分數排序列表
- 26. 休眠根據關聯(可選)字段排序
- 27. ExpressionEngine:根據相關條目排序頻道列表
- 28. 將數據插入另一個表的表中,同時根據字段排序
- 29. 根據類名對錶格行排序
- 30. yii2根據另一個字段自動填充相關字段
哦,等等,我們不會加入。 ;)猜猜你現在必須寫一些自定義(原始)查詢。 –
是啊剛試過後,你回答並得到了de.greenrobot.dao.DaoException:財產'foo'不是酒吧的一部分 你有一個例子,如何用原始查詢做到這一點? – ligi
訂單方法在querybuilder.join上不可用 –