【发布时间】:2021-04-19 17:42:59
【问题描述】:
我正在从事一个项目,其中我有三种类型的用户 Admin 和 user1 和 user2。我希望 user1 和 user2 只有在管理员为他们分配发票时才能在应用程序中使用某些功能。我尝试过使用下面给出的辅助函数。
$invoice = Invoice::pluck('user_id')->toArray();
if (Auth::user()->admin == 1 || in_array(Auth::user()->id, $invoice)) {
return 1;
} else {
return 0;
}
但这不能正常工作。我必须将它放在控制器的每个方法之前,以限制用户使用该功能。还有什么我可以做的吗? 有什么更好的方法吗?
【问题讨论】:
-
定义用户表和发票表的关系。
-
hasOne() 关系适用于此吗?
-
技术上是的,因为即使连接了一张发票,您的用例似乎也已授权。
标签: php laravel eloquent middleware laravel-8