法王愫
法王愫
  • 发布:2022-12-03 16:42
  • 更新:2023-02-25 00:42
  • 阅读:681

unicloud-db多表联查(三表)

分类:uniCloud

请教一个问题:
我有三张表
分别是用户表uni-id-users
新闻表news(user_id字段下:"foreignKey": "uni-id-users._id") ,
关注表followers(friend_uid 字段下:"foreignKey": "news.user_id")
需求:获取被关注者(friend_uid)发表的新闻。
三表联查怎么写?
collection="followers,news,uni-id-users"
where="follow_uid==$cloudEnv_uid"
field="friend_uid,user_id{username,nickname,avatar_file}"

像我这样写的话获取不到用户的头像昵称等信息,也就是获取不到uni-id-users里面的内容。
应该怎么写查询语句

2022-12-03 16:42 负责人:无 分享
已邀请:
i***@qq.com

i***@qq.com

我跟你的问题一样的,头疼得很你有解决嘛

DCloud_heavensoft

DCloud_heavensoft

用temp表,分开写,注意看联表查询的文档。

  • i***@qq.com

    a是评论表,b是回复评论表,c是用户表。

    我想让a,b表关联后,在跟c用户表关联,有啥办法能做到吗

    2023-02-24 22:42

3***@qq.com

3***@qq.com

多表场景下只能使用副表与主表之间的关联关系(foreignKey),不可使用副表与副表之间的关联关系。你这样关联新闻表和用户表就是副表与副表的关联了,再说你这样设计也不合理啊,你应该用关注表和用户表关联,页面显示头像,昵称等等一个列表,然后点某一个关注的作者,再去新闻表里查这个作者写的内容。参考某音你的关注列表。

  • i***@qq.com

    大神帮忙看看我这个怎么解决

    我想将评论表跟回复表关联,然后让这两个表里的user_id跟评论表关联,怎么做到。

    2023-02-25 01:20

  • 3***@qq.com

    回复 i***@qq.com: 你可以试试unicloud的树状表啊,用一个字段记录主题的id,用一个字段指定parentKey,parentKey为空都是当前主题的回复(就像我的回复),有parentKey的就是对某一层的回复(就像你对我这一层的回复),这样查询的时候就查主题的ID返回给你的结构按照parentKey都整理好了,唯一不足的是树状表无法联表查询,需要再记录一下用户昵称和头像地址,头像和昵称是不是最新的对我来说不重要,所以这么做对我来说够用。你按照你实际情况来,实在不行多查几次也无妨啊,不可能一条请求解决所有啊

    2023-02-25 04:08

要回复问题请先登录注册