gpt4 book ai didi

PHP 如果不匹配则取消设置索引

转载 作者:行者123 更新时间:2023-11-29 13:30:37 26 4
gpt4 key购买 nike

我有两个包含这些列的表(我只显示相关的列):

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 其中 todo = 1,因此我已经在 PHP 对象中拥有了数据。

然后,我有两个用户可以查看的列表:要执行的任务和已存档(已完成)的任务,以及要执行的任务。我可以很好地生成第一个列表,如果每个任务和条目有匹配的 task_id 其中 user_id == $loggeduser && did == 1,我就会循环遍历它们,并取消设置不匹配的索引。但是,我找不到对我的存档列表执行此操作的逻辑,因为我没有可匹配的条目。如何循环我的任务并只为用户保留已完成的任务?在本例中,对于用户 1 的存档列表,我只保留任务 id 3 和 5,对于用户 2,只保留任务 id 2。

谢谢。

最佳答案

您可以使用纯 SQL 来完成所有这些操作(我想您正在使用一些关系数据库)。

此查询为您提供所有“待办事项和已完成”任务。要获取“待办事项和未完成”任务,只需将“e.done = 1”更改为“e.done = 0”即可。我相信您已经明白了。

SELECT * FROM tasks t
INNER JOIN entries e ON t.id = e.task_id
AND e.user_id = [logged_user_id]
AND e.done = 1
WHERE
t.todo = 0

关于PHP 如果不匹配则取消设置索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com