大佬们,请教一个动态 sql 问题

2020-12-22 21:39:58 +08:00
 pisir

需求

前端传递的字段不确定,后端要根据 sql 返回这些字段,会涉及多个表关联,也就是说都不确定会关联哪几张表,怎么实现比较好

举例

后端提供一个接口返回给前端 20 个字段,这 20 个字段可能涉及 n 张表,前端传递其中的 username 、order_amount,后端要写 sql 返回这两个字段,那么就会涉及到 user 表和 order 表关联,但是如果传递 username 、post_content,有涉及到 user 和 post 表关联

有没有好的实现方式呢,请指教,感谢!

1324 次点击
所在节点    程序员
4 条回复
pisir
2020-12-22 21:41:32 +08:00
也就是前端传递字段,然后后端在根据字段返回值,但是这些字段以及需要关联的表都是不确定的。
msg7086
2020-12-23 00:02:39 +08:00
没什么好办法,按部就班计算出要用到的字段和要用到的表,然后拼 SQL 。
wangritian
2020-12-23 09:45:43 +08:00
我一般不会让前端直接指定需要哪些字段,要么全给( QPS 要求不高时),要么定义几个场景,只让前端传一个场景参数,再根据场景拼接 sql 语句
micean
2020-12-23 10:13:22 +08:00
提交{ "user":["username"], "order":["order_amount"],"post":["post_content"]}这样的参数自己拼 sql 吧
如果所有接口都要这样玩,要么前端自己拼数据,要么后端换成 graphql 之类的架构

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738020

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX