使用laravel,让多个用户能够阅读文章的最佳方法是什么?
我正在数据库中使用一个包含所有权限(基于user_id)的数组,例如:
id | user_id_permission
1 | {1,37,44}
2 | {34}
然后我检查当前用户ID是否在数组中,在 show(Article $ id)函数的 ArticleController.php 中。如果不是,它将重定向到仪表板。
我想知道是否还有另一种设计方法,使用Laravel的门或任何类型的身份验证。
谢谢!
答案 0 :(得分:1)
这违反了DB规范化。我不会在您的表中使用该字段,但会使用将N个文章与N个用户链接起来的关系表。
article_user_access
id_article | id_user
------------+--------
1 | 1
1 | 37
1 | 44
2 | 34
这将更易于执行查询以获取有权访问文章X或用户Y可以访问的文章的用户列表。
关于添加和删除访问权限,这将更易于维护