我正在开发一个网站,它将在不同的部分拥有大量的图片。例如,会有用户照片和文章照片。我正在考虑将所有媒体合并到一个媒体数据库表中,并根据上传的日期存储图像:
id: 1564
name: 55821325202772db75de084b2919cabb (hashed)
path: images/2011/07/01/
date: 01-07-2011
ext: jpg
type: image
rtype: news (relation type)
rid: 153 (relation parent id)如果我需要链接到新闻后153的所有图像,我需要查询数据库中的特定rtype和rid。
这会是存储网站媒体的好方法吗?
编辑:--如果我将rtype和result合并成1(散列)列,这会导致更快的查询吗?
发布于 2011-07-01 16:51:53
这就是它在Rails框架中的使用方式。我认为您也可以在php中这样做。
您可以看到一个关于如何将注释关联到多个对象的RoR示例:http://asciicasts.com/episodes/154-polymorphic-association
您还可以从cakePHP面包店:http://bakery.cakephp.org/articles/AD7six/2008/03/13/polymorphic-behavior上查看这篇文章
发布于 2011-07-01 16:53:31
我认为那会有效,而且很灵活。一个小的缺点是,你不能拥有外键从媒体到新闻发布,所以你没有参考完整性。(您可能会得到孤立的媒体文件。)如果这是一个问题,您可以拥有从媒体到所有可能使用它的表的可空链接,以及一个约束,其中一个链接必须是非空的。
发布于 2011-07-01 16:52:08
这似乎是一种非常实用的方法。
https://stackoverflow.com/questions/6550858
复制相似问题