Laravel如果模型对auth

时间:2017-07-28 20:57:19

标签: php laravel authentication laravel-5.4

我有一个Laravel 5.4应用程序,其中auth用户属于公司, 这是在user->company_id

中设置的

其他一些模型也有一个company_id,因此同一公司的不同用户可以访问 / 查看 / 编辑这些记录。

在我的路线中,我目前使用资源路线,因此如果auth用户可以访问索引showeditupdate和{{1来自相应控制器的方法?

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