php - 已给出实例,仍在控制器中检测其他实例
问题描述
我试图通过名为 LoginController 的控制器获取客户端 IP,但错误仍然存在。
传递给 App\Http\Controllers\Auth\LoginController::authenticated() 的参数 1 必须是 App\Http\Controllers\Auth\Request 的实例,给定的 Illuminate\Http\Request 实例
我已经关注了这个SO question,但仍然遇到同样的错误。
登录控制器.php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Auth\Request;
class LoginController extends Controller
{
/**
* The user has been authenticated.
*
* @param App\Http\Controllers\Auth\Request $request
* @param mixed $user
*
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
$user->update([
'last_login_at' => Carbon::now()->toDateTimeString(),
'last_login_ip' => $request->getClientIp()
]);
if($user->isAdmin === 1) {
return redirect()->intended('admin');
}
}
}
已编辑
所以,我刚刚发现了 AuthenticatesUsers.php 这是一个特征(?)并找到了这段代码。我应该编辑这段代码吗?
/**
* The user has been authenticated.
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
//
}
解决方案
改变你的use
陈述:
use Illuminate\Http\Request;
// Instead of
use App\Http\Controllers\Auth\Request;
您正在从接收 a而不是 a的trait覆盖此方法AuthenticatesUsers
Illuminate\Http\Request
App\Http\Controllers\Auth\Request
推荐阅读
- ios - Xcode:仅在插入 PKI 密钥时无法在钥匙串中找到指定的项目
- c# - 有没有办法假装来自切换按钮的 handleCheck 从未发生过?
- react-native - 滚动视图中的屏幕滞后
- r - 如何将样本大小文本添加到 facet_wraped 十六进制图
- python - mlflow 是否支持集群部署?
- javascript - 在控制台中编写无意义的命令后,如何防止 Google chrome 加载旧的 javascript?
- c# - 无法从表存储中获取记录
- android - 为什么 ACTION_CARRIER_CONFIG_CHANGED 没有触发我的接收器?
- clojure - (read-line) 在 preceing prinln 之前执行
- geometry - 如何检查 line-polygon-intersection *包括* 为每个交叉点找到多边形的边?