【问题标题】:Class 'App\Http\Controllers\Auth\User' not found找不到类“App\Http\Controllers\Auth\User”
【发布时间】:2018-04-11 06:23:26
【问题描述】:

我正在尝试使用本指南 https://scotch.io/tutorials/laravel-social-authentication-with-socialite 为 Laravel 5.5 实施 Socialiate。数据从提供程序正确返回,但我在定义使用和命名空间时遇到问题。

使用此配置:

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Socialite;

结果是:

找不到类“App\Http\Controllers\Auth\User”

触发者:

$authUser = User::where('providerId', $user->id)->first();

但是,如果我添加 App\User:

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\User;
use Socialite;

结果是:

找不到类“App\Http\Controllers\Auth\Auth”

触发者:

Auth::login($authUser, true);

非常感谢任何帮助。

【问题讨论】:

  • 如果你这样做会发生什么 $authUser = \User::where('providerId', $user->id)->first();
  • 阅读这个github.com/laravel/socialite它会帮助你
  • 然后我得到“找不到类'用户'”

标签: php laravel-5.5 laravel-socialite


【解决方案1】:

您没有以正确的方式导入 Auth 命名空间。

正确的命名空间是Illuminate\Support\Facades\Auth;

在班级顶部添加use Illuminate\Support\Facades\Auth;

【讨论】:

  • 我最后只添加了 use Auth; 因为路径在我的 app.php 别名中。
【解决方案2】:

也试试,添加 use App\User;

namespace App\Http\Controllers\Auth;

use Socialite;
use App\User; 

【讨论】:

    【解决方案3】:

    在我的案例中,当我看到包含的文件只是用户而不是名称空间中的 socialproviders 表时,我使用了两个表 Users 和 Social_providers .. 花了 2 天时间来解决吃掉的 4 GB 数据。

    enter code here
    
    namespace App\Http\Controllers\Auth;
    use Socialite;
    use App\Http\Controllers\Controller;
    use App\Providers\RouteServiceProvider;
    use App\Models\User;
    use App\Models\socialProvider;
    use Illuminate\Foundation\Auth\RegistersUsers;
    use Illuminate\Support\Facades\Auth;
    use Illuminate\Support\Facades\Hash;
    use Illuminate\Support\Facades\Validator;
    //use Laravel\Socialite\Facades\Socialite;
    
    class RegisterController extends Controller
    

    【讨论】:

      猜你喜欢
      • 2019-12-07
      • 2017-04-11
      • 2021-08-31
      • 1970-01-01
      • 2021-09-25
      • 2016-04-28
      • 2015-05-10
      • 1970-01-01
      相关资源
      最近更新 更多