我正在使用mysql DB,目前我已经在列id,title,text,author_id,image中找到了表“帖子”。
我需要提供在我的博客中将多个图片上传到一个帖子的可能性。在这种情况下,组织我的数据库结构的最佳方式是什么?在Yii 2中通常如何进行?
目前我只有保存1张图片并在表格字段中保留其路径的功能。
我应该在DB中保留数组还是创建另一个关系表?
答案 0 :(得分:0)
当您使用像MySQL这样的传统RDBMS时:
看起来你是从一对一,到零或一对多的关系,在这种情况下,我建议为你的文件创建另一个表(例如:image
*) ,包含外键image.post_id
到posts.id
。额外的好处是,您将能够更整齐地存储有关图像的一些元数据,而不是在posts
表中创建额外的(但可能不需要的列)。
最干净的解决方案(imho)通常靠近DMBS的数据结构,而不是在文本字段中放置任意数据结构,无论您使用何种框架或语言。
使用no-sql数据库(例如MongoDB)时会有所不同,根据用例,您可能希望在包含图像对象的images
文档中使用数组属性posts
。
* yii表的命名约定是单数而不是复数