【发布时间】:2020-05-22 22:04:17
【问题描述】:
我正在使用 oauth2 并且我的表 users 是 "coUsers" 。我在我的用户模型中添加了这个
应用\用户
protected $table = 'coUsers';
public function getAuthPassword()
{
return $this->pass;
}
授权控制器
public function login(Request $request)
{
$request->validate([
'usuario' => 'required|string|email',
'clave' => 'required|string',
//'remember_me' => 'boolean'
]);
$credentials = [
'usuario' => $request->get('usuario'),
'password' => $request->get('clave'),
];
if(!Auth::attempt($credentials)){
return response()->json([
'message' => 'Unauthorized'
], 401);
}
$user = $request->user();
$tokenResult = $user->createToken('Personal Access Token');
$token = $tokenResult->token;
if ($request->remember_me)
$token->expires_at = Carbon::now()->addWeeks(1);
$token->save();
return response()->json([
'access_token' => $tokenResult->accessToken,
'token_type' => 'Bearer',
'expires_at' => Carbon::parse($tokenResult->token->expires_at)->toDateTimeString()
]);
}
public function firstLogin(Request $request)
{
$request->validate([
'usuario' => 'required|string|email|unique:users',
'clave' => 'required|string',
'nuevaClave' => 'required|string'
]);
$user = User::where('usuario', $request['usuario'])
->where('clave', $request['clave'])
->first();
$user->clave = bcrypt($request['nuevaClave']);
$user->first_login = false;
$user->save();
return response()->json([
$user->toArray()
]);
}
身份验证登录工作正常,但我想在 firstLogin 中使用 User::where .... 我收到此错误:
Illuminate\Database\QueryException: SQLSTATE[42703]: Undefined column: 7 ERROR: column "usuario" 不存在 第 1 行:从 "users" 中选择 count() 作为聚合,其中 "usuario" = ... ^ (SQL: select count() as aggregate from "users" where "usuario" = xxxxx@gmail.com) 在文件 \vendor\laravel\framework\src\Illuminate\Database\Connection.php 第 669 行
查看 users 表,而不是使用我在模型中指定的表。
【问题讨论】:
-
能否请您提供更多关于您在哪里呼叫 User::where... 的信息?
-
是的,我编辑了我的问题。谢谢
-
在下面查看我的答案