情況是這樣的,寫文章的時候需要用 ajax 插入文件、圖片。
附件 attachments
表裡有
object_model
object_type
object_id
這幾個字段。
而文章表不記錄任何附件信息。
attachments
表中的 object_id
就是文章對應 id ,所以寫入 attachments
表的時候,需要獲得這個 id ,但文章沒發的時候是不會有這個 id 的。
那麼:
1 ,用 max ()+1 的方式去猜測文章發佈出來的 id ,但這樣單用戶還好,多用戶併發就會有預想不到的問題。
2 ,插入文件的 object_id
為 0 ,提交文章的時候再批量更新,但是這樣一來,如果文章最後沒提交,上傳的文件就白上傳了,因為沒入庫,後期無法查詢到這些附件並清除。
3 ,新建文章的時候先 init ,也就是當成編輯處理,但這樣也有缺陷,那就是可能導致文章 id 不連貫的問題。
所以,想問問大家有沒有更好的方案?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.