我有三张桌子,
用户:
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,我希望在一个管理员可以编辑/更新的表中显示这个信息。基本上,管理员应该能够将用户添加到项目中,我只是不完全确定如何在前端显示数据--当管理员转到特定的项目页面时,他们应该能够添加那个特定项目不存在的用户。如果我要显示项目Falcon,管理员应该能够分配joey@friends.com和omar@thewire.com,因为它们已经不属于项目了。
这可能不是理想的做事方式,如果不是-你们会建议我如何组织它?这是我的数据库应该处理的任务,还是应该在前端过滤掉它?
发布于 2019-02-25 19:43:07
谢谢你告诉我。在前端使用.filter并在后端进行一些查询之后,我得出的结论是,这将更容易维护:
SELECT id, email
FROM "user"
WHERE id NOT IN (SELECT user_id FROM userprojects WHERE project_id = 1)我将用我需要查询的任何项目ID替换project_id = 1。
如果这被认为是一个糟糕的查询,请告诉我。
发布于 2019-02-25 19:29:35
对于这样的事情,你通常会在前面过滤你的列表。这样,您不需要在后端添加API调用,它只是简单/更快。
https://stackoverflow.com/questions/54870011
复制相似问题