【发布时间】:2021-06-02 20:44:41
【问题描述】:
我正在尝试构建一个具有允许员工使用 Flutter 和 Firebase 打卡/打卡的功能的应用程序。由于我是初学者,我不知道如何继续,因此我需要您在逻辑部分的帮助。
如何在 Flutter 应用中添加此功能,以便每当用户点击打卡按钮时,它都会节省打卡时间,反之亦然?
然后,我打算使用listview.builder 显示时间并计算当天的总工作小时数。
我已经尝试过构建自己的,但我认为我的逻辑有问题。
我的 Firebase 收藏是这样的。
hours > userid > time > 2021-03-04 > timein: 1614842992920 timeout: 1614842992920
2021-03-05 > timein: 1614842992920 timeout: 1614842992920
2021-03-06 > timein: 1614842992920 timeout: 1614842992920
现在,当我试图获得时间时,我必须具体说明文档 ID,即 2021-03-04
hoursCollection.doc(employeeId).collection('time').doc(2021-03-04).get();
是的,如果我使用limit(7),它将给我前七个文档,但为了显示最近几天,我想按降序获取文档。
我想从下到上获取一个文档,即来自2021-03-06。
如果您有更好的解决方案,请告诉我,我很乐意更改整个代码库。
【问题讨论】:
-
尝试使用 Firestore 的 order by 方法,例如这篇文章:stackoverflow.com/questions/50224638/…。您只需要将方向更改为下降即可。
标签: firebase flutter datetime google-cloud-firestore