Экземпляр был дан, все еще обнаруживает другой экземпляр в контроллерах - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь получить клиентский IP через контроллер с именем LoginController, но ошибка все еще существует.

Аргумент 1, передаваемый в App \ Http \ Controllers \ Auth \ LoginController :: authenticated (), должен быть экземпляром App \ Http \ Controllers \ Auth \ Request, экземпляром Illuminate \ Http \ Request данной

Я следил за этим ТАК вопрос , но все равно получаю ту же ошибку.


LoginController.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');
        }
    }
}


EDITED

Итак, я только что узнал об AuthenticatesUsers.php, который является признаком (?), И нашелэтот кодДолжен ли я редактировать этот код или нет?

/**
 * The user has been authenticated.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
 protected function authenticated(Request $request, $user)
 {
    //
 }

1 Ответ

0 голосов
/ 13 мая 2019

Измените выражение use:

use Illuminate\Http\Request;
// Instead of
use App\Http\Controllers\Auth\Request;

Вы переопределяете этот метод из черты AuthenticatesUsers, которая получает Illuminate\Http\Request, а не App\Http\Controllers\Auth\Request

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...