có cách nào để sắp xếp theo trường trong bảng có liên quan với greenDao không? Ví dụ. Tôi có một bảng ô tô và một bảng điều khiển. Mỗi chiếc xe đều có tài xế. Bây giờ tôi muốn truy vấn (ví dụ: ô tô màu xanh lam) và sắp xếp theo tên của người lái xegreendao sắp xếp theo trường trong bảng có liên quan
Trả lời
Trong QueryBuilder, có các phương pháp để chỉ định thứ tự sắp xếp. Tìm các phương pháp bắt đầu bằng "thứ tự ...", ví dụ: orderAsc (Thuộc tính).
Tôi cũng đang chơi với GreenDao và hy vọng phần bổ sung nhỏ của tôi vào nhận xét trong câu trả lời đầu tiên và mô tả trong số queries part of the greenDao documentation sẽ giúp.
Đoạn sau đây nên làm việc (không kiểm tra nó :)):
Query query = carsDao.queryRawCreate( ", driver D WHERE T.COLOR='blue' AND T.DRIVER_ID=D._ID ORDER BY D.NAME ASC");
Điều này tạo ra trong nội bộ một tương tự SQL sau:
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
Phần đầu của báo cáo kết quả được tạo ra cho bạn bằng phương thức queryRawCreate, phần còn lại là câu lệnh sql tùy chỉnh đã được chuyển đến queryRawCreate
.
Xem this question nếu bạn tự hỏi câu lệnh JOIN ở đâu.
Bạn có thể sử dụng QueryBuilders với Dao được tạo bởi greendao ORM.
Xác định trước khi sử dụng
ProductDao productDao;
DaoSession daoSession;
Bạn nên đặt DaoMaster và DaoSession trong phạm vi ứng dụng của bạn. Bên trong onCreate() của lớp mở rộng ứng dụng.
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(getApplicationContext(), "app-db", null);
SQLiteDatabase db = helper.getWritableDatabase();
daoSession = new DaoMaster(db).newSession();
Initialize trước khi sử dụng
daoSession = ((MyApplication) getApplication()).getDaoSession();
productDao = daoSession.getProductDao();
Bạn có thể sắp xếp các kết quả như thế này để hiển thị trong hoạt động này.
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. Quản trị viên Sonata - trường "theo thứ tự" trong bảng có liên quan
- 2. Thứ tự sắp xếp mặc định của mô hình Django sử dụng trường bảng có liên quan
- 3. PHP Sắp xếp mảng theo trường?
- 4. SQL Server - Sắp xếp theo trường hợp
- 5. C# sắp xếp bảng theo 2 cột
- 6. Sắp xếp băm theo mảng theo thứ tự bảng chữ cái theo một trường
- 7. Sắp xếp các bảng theo cột jquery
- 8. Các bảng hiển thị mysql sắp xếp theo tên bảng
- 9. Rails meta_search gem: sắp xếp theo số lượng của một mô hình liên quan
- 10. CoreData sắp xếp theo mối quan hệ nhiều-nhiều
- 11. Kết hợp SQL Server Freetext - làm cách nào để sắp xếp theo mức độ liên quan
- 12. Django: cách order_by trên trường có liên quan của trường có liên quan
- 13. GreenDAO hỗ trợ nhiều mối quan hệ giữa các bảng
- 14. Cách sắp xếp danh sách trong Scala theo hai trường?
- 15. Sắp xếp theo giá trị bảng ánh xạ trong Hibernate
- 16. EXC_BAD_ACCESS liên quan đến sắp xếp cấu trúc?
- 17. Bảng được sắp xếp theo kiểu thiết đặt
- 18. Cách sắp xếp một mảng theo sự giống nhau liên quan đến từ được nhập.
- 19. Sắp xếp nhiều trường trong MySQL
- 20. Bộ sắp xếp bảng jQuery: dừng sắp xếp
- 21. Sắp xếp bảng HTML
- 22. Python: cách sắp xếp mảng ma trận theo hai trường?
- 23. Sắp xếp Danh sách các đối tượng theo nhiều trường
- 24. Sắp xếp các liên kết has_and_belongs_to_many
- 25. Cách sắp xếp các mục trong chế độ xem theo trường của thực thể tra cứu?
- 26. sắp xếp csv theo cột
- 27. Cách sắp xếp LinkedHashMap theo trường giá trị của nó?
- 28. Đường ray - Sắp xếp theo dữ liệu bảng tham gia
- 29. Sắp xếp chuỗi Android.xml theo thứ tự bảng chữ cái
- 30. Sắp xếp theo từ điển?
Rất tiếc, chúng tôi chưa tham gia. ;) Đoán bạn phải viết một số truy vấn (nguyên) tùy chỉnh cho bây giờ. –
yea chỉ cần thử lại sau khi bạn trả lời và nhận de.greenrobot.dao.DaoException: Thuộc tính 'foo' không phải là một phần của thanh Bạn có ví dụ về cách thực hiện với truy vấn thô không? – ligi
phương thức đặt hàng không khả dụng trên querybuilder.join có vẻ như –