postgresql - 将用户添加到他们不属于的项目?Postgres / Vue JS
问题描述
我有三张桌子,
用户:
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 来查询,我希望在管理员可以编辑/更新的表中显示这些信息。基本上,管理员应该能够将用户添加到项目中,我只是不完全确定如何在前端显示数据 - 当管理员进入特定项目页面时,他们应该能够添加尚未添加的用户存在于该特定项目。例如,如果我要显示 project Falcon
,管理员应该能够分配joey@friends.com
,omar@thewire.com
因为它们已经不属于该项目。
这可能不是理想的做事方式,如果不是 - 你们会建议我如何构建它?这是我的数据库应该处理的工作,还是我应该在前端以某种方式过滤掉它?
解决方案
谢谢你的提示。在前端和后端的一些查询上玩了一下之后.filter
,我得出的结论是这将更容易维护:
SELECT id, email
FROM "user"
WHERE id NOT IN (SELECT user_id FROM userprojects WHERE project_id = 1)
我将用project_id = 1
我需要查询的任何项目 ID 替换。
如果这被认为是一个错误的查询,请告诉我。
推荐阅读
- python - Python:导入文本文件以使子列表以“#”分隔
- r - 如何在R中绘制南极的扇区
- vuejs2 - 使用 vuejs LARAVEL 背靠背播放视频
- javascript - ReactJS/Typescript:跨域读取阻塞 (CORB) 阻止跨域
- python - 安装ROOT时出错
- google-sheets - 如何使用 Google 表格查找和求和
- plugins - Gaim - 如何开发插件?(洋泾浜)
- spring-boot - Spring Boot Thymeleaf 方法 POST SELECT null
- nginx - Nginx:如何将 example.org 翻译成 www.example.org
- spring-boot - 在多项目构建中访问其他子项目的类时遇到问题