gpt4 book ai didi

php - 数据库设计 : Assigning a File to multiple Users

转载 作者:搜寻专家 更新时间:2023-10-30 23:28:15 24 4
gpt4 key购买 nike

出于学习原因,我目前正在 Laravel 中创建一个文件共享系统。目前可以上传文件,稍后再下载。现在我想扩展它,使一个文件可以被多人(但不是所有人)下载。

目前我有一个用户表,文件表中引用了用户 ID。这样我就知道哪个文件属于哪个用户。

文件表看起来有点像这样:

id |  filename | user_id |

1 | doc.php | 2 |

2 | fly.php | 4 |

3 | dog.jpg | 3 |

4 | cat.gif | 2 |

等等...这样我就可以检查 user_id 是否与经过身份验证和登录的用户相同。

问题是我不太明白如何让多个用户 (10-20) 访问一个文件。我是否只创建一个如下所示的新表:?

user_id | file_id_1 | file_id_2 |

1 | 3 | 6 |

每次将附加文件分配给用户时,都会创建一个新列吗?

对我来说,这似乎是非常糟糕的数据示意图。

最佳答案

K

正如@Greg 已经评论过的,您最好使用数据透视表将文件和用户相互链接起来。

这将允许您使用 hasManyThrough 关系来获取用户可访问的所有文件以及有权访问文件的所有用户

https://laravel.com/docs/5.7/eloquent-relationships#has-many-through

关于php - 数据库设计 : Assigning a File to multiple Users,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53383904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com