1

我正在使用文件上传表(字段:)id, name, size, type并使用一系列其他表(注释、文件),每个表都有一个外键指向文件上传表(字段:)中的一条记录upload_id。每个系列表(例如,注释、文件)的模型将包括指向文件上传表的belongTo 关系。

note_id这意味着文件上传表将没有外键(多个表指向它),因此除非我为每个其他表(例如,,filing_id等)都有一个字段,否则外来 id 字段将不起作用。该模型不会提及任何关系。

我应该用另一种方式吗?我想不出更有效的方法。

4

1 回答 1

2

基本上取决于业务逻辑。

如果您的文件分布在其他表(注释填充等)之间,那么

上传 hasMany 备注 上传 hasMany 填写

但这是在您每条记录只有一个文件的情况下。

如果您的笔记或填写有多个文件,那么您需要前往 HABTM relaion 或:

Table notes:
id, name, desc ...

Table uploads:
id, name, size, type

Table notes_uploads:
id, note_id, upload_id

Table fillings_uploads:
id, filling_id, upload_id

因此,您将定义与其中包含文件的每个实体的多对多关系。

我认为第二种方式更灵活,但实际上取决于需求。

于 2011-03-24T08:22:42.263 回答