我有三个桌子,
用户:
id email
1 greg@yahoo.com
2 erik@gmail.com
3 joey@friends.com
4 omar@thewire.com
项目:
id name
1 Falcon
2 Dragon
3 Phoenix
和UserProjects(连接表以查看哪个用户属于哪个项目):
id user_id project_id
1 1 1
2 1 2
3 2 2
我已经为前端设置了REST API进行查询,并且希望将此信息显示在管理员可以编辑/更新的表中。基本上,管理员应该能够将用户添加到项目中,但我不完全确定如何在前端显示数据-当管理员转到特定项目页面时,他们应该能够添加用户该特定项目尚不存在。例如,如果我要显示项目Falcon
,则管理员应该能够分配joey@friends.com
和omar@thewire.com
,因为它们已经不属于该项目。
这可能不是理想的做事方式,如果不是-你们会建议我如何组织它?这是我的数据库应处理的工作,还是应该以某种方式在前端过滤掉?
答案 0 :(得分:0)
感谢小费。在前端使用.filter
并在后端进行了一些查询之后,我得出的结论是,这将更易于维护:
SELECT id, email
FROM "user"
WHERE id NOT IN (SELECT user_id FROM userprojects WHERE project_id = 1)
我将用需要查询的任何项目ID替换project_id = 1
。
如果这被认为是错误的查询,请告诉我。
答案 1 :(得分:-1)
对于这样的事情,通常会在前端过滤列表。 这样,您不需要在后端进行额外的API调用,它变得更加简单/快捷。