我有两个包含这些列的表(我只显示相关的):
tasks table
+----+------+
| id | todo |
+----+------+
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 0 |
| 5 | 1 |
+----+------+
entries table
+----+---------+---------+------+
| id | task_id | user_id | done |
+----+---------+---------+------+
| 1 | 3 | 1 | 1 |
| 2 | 5 | 2 | 1 |
| 3 | 5 | 1 | 1 |
| 4 | 2 | 1 | 0 |
+----+---------+---------+------+
我查询这些表并且只保留tasks
where todo = 1
,所以我已经在 PHP 对象中有数据。
然后,我有两个用户可以查看的列表:要执行的任务,已归档(已完成),以及要执行的任务。task_id
我可以很好地生成第一个列表,如果它们有匹配的where ,我将遍历每个任务和条目user_id == $loggeduser && done == 1
,并取消设置不匹配的索引。但是,我找不到使用我的存档列表执行此操作的逻辑,因为我没有要匹配的条目。如何循环我的任务并只为用户保留已完成的任务?在这种情况下,对于用户 1 的存档列表,我只保留任务 ID 3 和 5,而对于用户 2,只保留任务 ID 2。
谢谢。