php - 确定给定的外国 ID 是否由用户拥有?

标签 php laravel laravel-5 laravel-5.3

确定给定的外部 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();
}

最佳答案

返回显式的 truefalse 值是一个很好的做法。此外,如果您要检查当前登录用户的 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/

相关文章:

laravel - 如何在 Laravel 的 url 中使用路由名称?

php - Laravel 5 方法 [ALL] 不存在

php - WordPress 开发工作流程速成类(class)

javascript - 通过 PHP 下载 PDF 无法在手机中打开

php - PHP 函数可能未定义的参数

javascript - 在 Laravel 中安装后如何需要 npm 包?

php - Laravel5 - 自定义验证器 - 未定义的 setPresenceVerifier()

php - 将多个 MySQL 查询与 PHP 相关联?

Laravel 更新后看不到现有的供应商类

php - 如何从 foreach 中获取唯一值