我有一个Laravel 5.4应用程序,其中auth用户属于公司,
这是在user->company_id
。
其他一些模型也有一个company_id,因此同一公司的不同用户可以访问 / 查看 / 编辑这些记录。
在我的路线中,我目前使用资源路线,因此如果auth用户可以访问索引show
,edit
,update
和{{1来自相应控制器的方法?
答案 0 :(得分:0)
您可以在所有具有company_id的模型中执行方法:
public function isOwnedBy($companyId)
{
return $this->company_id == $companyId ? true : false;
}
然后,只要您想编辑,显示...那个模型,您只需在执行此操作之前调用此方法。我们假设您有一个包含字段" company_id"的页面。
$page = Page::first(); // just some random page
if(!$page->isOwnedBy(\Auth::user()->company_id))
// throw an exception or do something that the user can't continue