我正在使用Laravel 5.1作为应用程序,并且有两个模型。客户和用户。经过身份验证和登录的用户应该只能查看自己的客户端。该查询非常简单:
$clients = Client::where('user_id', Auth::user()->id)->get();
但是,如何为客户端设置编辑路由,而其他用户无权访问。目前我有:
$client = Client::where('user_id', Auth::user()->id)->find($id);
这很好用,但我喜欢findOrFail()
功能的工作原理,而且它很简单。
我应该在模型中添加自定义方法吗?
答案 0 :(得分:1)
$clients = Auth::user()->clients();
如果您在用户模型中设置了正确的hasmany关系,则应该有效。我将添加到User模型的关系是(假设客户端模型是Client.php):
public function clients()
{
return $this->hasMany('App\Client');
}
这也假设您在客户端表中有一个名为“user_id”的外键。