V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hhh798
V2EX  ›  程序员

请教一个数据库问题

  •  
  •   hhh798 · 2019-09-04 22:55:32 +08:00 · 1645 次点击
    这是一个创建于 1689 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在做一个内容的产品,发文时会上传图片,上传图片成功后台就返回一个图片 url,现在想把上传的图片的第一个作为文章的封面,应该怎么做呢?因为图片先上传,文章后生成,怎么把图片和文章关联?
    8 条回复    2019-09-06 01:30:22 +08:00
    Takamine
        1
    Takamine  
       2019-09-05 00:09:21 +08:00 via Android
    可以把图片的唯一标识(比如 id )也返回给前台,文章生成传给后台的时候一起带过去。
    chestre
        2
    chestre  
       2019-09-05 00:23:34 +08:00
    不太清楚你们的产品具体的设计和流程是如何的,以下是一些个人的揣测
    用户 id>文章 id>图片 id
    以上为三种 id 的包含关系,假设用户 id 为 abc
    当用户发文时,可以生成文章 id: abc_2(假设这是这位用户的第三篇文章,或者可以用时间戳)
    在文章 abc_2 中,包含图片:abc_2_pic_1, abc_2_pic_2
    这样用户,文章,图片就可以相互关联。
    无论上传顺序如何。
    Yourshell
        3
    Yourshell  
       2019-09-05 00:27:32 +08:00
    使用编辑器处理,扫描到文章第一个图片的 url 存到文章里
    ShellV
        4
    ShellV  
       2019-09-05 01:12:51 +08:00
    圖片表 中 維護一個外鍵字段,指向 文章表 的 主鍵,
    文章表 中 維護一個字段,內容為 圖片的 url

    文章表中封面的字段沒有內容,那就排序圖片表中相關圖片的時間第一個為封面
    如果狀態字段有封面,那就顯示設置為封面咯~

    (有點愚蠢)
    yidinghe
        5
    yidinghe  
       2019-09-05 08:53:53 +08:00 via Android
    1、标题图片作为单独的字段上传,或者 2、解析文章内容,寻找第一张图片
    hhh798
        6
    hhh798  
    OP
       2019-09-05 09:43:06 +08:00
    @chestre 你这个方法可以,就是不能把自增 ID 作为文章 ID 了
    @ShellV 现在就是怎么把图片和文章关联啊
    @yidinghe 1.本来就是移动端操作,这样多了一步操作 2.有点麻烦
    @Yourshell 编辑器没有这功能啊
    @Takamine 看来只有这个方法了,图片上传返回的 ID 存起来
    redback
        7
    redback  
       2019-09-05 10:10:30 +08:00
    图片上传这一步没必要存表吧,直接返回 url,然后在新增文章时关联文章 ID 存表就行了
    ShellV
        8
    ShellV  
       2019-09-06 01:30:22 +08:00
    @nioncodotcom 我已經說過:“圖片表 中 維護一個外鍵字段,指向 文章表 的 主鍵”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1014 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:54 · PVG 02:54 · LAX 11:54 · JFK 14:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.