Php 此集合实例上不存在Laravel 5属性[userType]

Php 此集合实例上不存在Laravel 5属性[userType],php,laravel-5,Php,Laravel 5,我一直在获取属性[userType]不存在错误,当我尝试设置登录条件时 下面是我的控制器代码。我还试图使Auth控制器,但我只是不断从这得到相同的错误 <?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers;

我一直在获取属性[userType]不存在错误,当我尝试设置登录条件时 下面是我的控制器代码。我还试图使Auth控制器,但我只是不断从这得到相同的错误

<?php

namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\User;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/dashboard';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    protected function redirectTo()
{
    $user = User:all();
    if($user->userType == 'admin')
    {
        return 'dashboard';
    }
    else
    {
        return 'verify first';
    }
}
}
它非常清晰

 protected function redirectTo()
{
    $user = User:all();
    if($user->userType == 'admin')
    {
        return 'dashboard';
    }
    else
    {
      
        return 'verify first';
    }
}
重定向到
方法中,您正在访问
$user=user:all()而不是一条记录。它可能是
Auth::user()
user::find($id)

全部返回多条记录,因此您无法直接访问userType

您可以使用经过身份验证的方法,而不是使用
重定向到
to

protected function authenticated(Request $request, $user)
{
   if($user->userType == 'admin')
        {
             return redirect()->route("dashboard");
        }
        else
        {
           auth()->logout();
            
        }
}

User:all()将所有用户放入一个集合中。它不是单个用户。也许您正在考虑使用
Auth::user()
,它可以获取已登录的用户?如何直接访问userType?如果使用User::find($id);如果我使用thiskay,我会不断得到未定义的变量。我更新了我的Answetrins,而不是使用redirectTo(),以便您可以使用authenticated()method@Kaye.any问题,然后让我使用Lightning\Http\Request;导入这个
$user = User:all(); 
protected function authenticated(Request $request, $user)
{
   if($user->userType == 'admin')
        {
             return redirect()->route("dashboard");
        }
        else
        {
           auth()->logout();
            
        }
}