确定给定的外部 ID 是否属于用户并返回集合(如果找到)的好方法是什么?
我一直在这样做,例如在 Controller 中:
public function showToken(Request $request)
{
$this->tokenRepo->ownToken($request->user(), $request->toke);
}
在 tokenRepo 类中,ownToken
方法如下所示:
public function ownToken($user, $tokenId)
{
return $user->tokens()->where('id', $tokenId)->first();
}
最佳答案
返回显式的 true
或 false
值是一个很好的做法。此外,如果您要检查当前登录用户的 token ,则可以使用 auth()->user()。例如,如果 repo 是一个模型:
public function ownToken($tokenId)
{
return is_null($this->where('id', $tokenId)
->where('user_id', auth()->user()->id)->first());
}
或者:
public function ownToken($tokenId)
{
return is_null(auth()->user()->tokens()->where('id', $tokenId)->first());
}
然后您就可以执行以下操作:
if ($this->tokenRepo->ownToken($request->token)) { .... }
关于php - 确定给定的外国 ID 是否由用户拥有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41534625/