Laravel 5.2 错误 App\User 无法使用 Illuminate\Foundation\Auth\User - 这不是特征
Posted
技术标签:
【中文标题】Laravel 5.2 错误 App\\User 无法使用 Illuminate\\Foundation\\Auth\\User - 这不是特征【英文标题】:Laravel 5.2 Error App\User cannot use Illuminate\Foundation\Auth\User - it is not a traitLaravel 5.2 错误 App\User 无法使用 Illuminate\Foundation\Auth\User - 这不是特征 【发布时间】:2016-09-11 05:00:17 【问题描述】:我对 laravel 5.2 还是很陌生。现在我正在尝试创建一个自定义登录。我创建了登录 html。在提交时,函数显示错误
App\User 不能使用 Illuminate\Foundation\Auth\User - 这不是 trait
我找不到错误所在。代码如下
Routes.php
Route::post('/', 'Admin\LoginController@postLogin');
LoginController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Auth;
use Request;
class LoginController extends Controller
public function index()
return view('admin.login');
public function register()
return view('admin.register');
public function postLogin()
$email = Request::input('email');
$password = Request::input('password');
if (Auth::attempt(['email' => $email, 'password' => $password]))
//echo "success";
return redirect('admin/dashboard');
else
return redirect('/');
User.php
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
use Authenticatable,
CanResetPassword;
protected $table = 'users';
protected $fillable = ['name', 'email', 'password'];
protected $hidden = ['keyword', 'remember_token'];
Auth.php
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'users' => [
'driver' => 'eloquent',
'model' => 'App\User',
'table' => 'users',
'password' => [
'email' => 'emails.password',
'expire' => 60,
],
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'auth.emails.password',
'table' => 'password_resets',
'expire' => 60,
],
],
];
我正在学习here的教程
请帮助我。我从过去几个小时就被困在这里
【问题讨论】:
【参考方案1】:你应该使用这个命名空间:
use Illuminate\Auth\Authenticatable;
这是你应该使用的特性。现在,您正在尝试将类用作特征:
use Illuminate\Foundation\Auth\User as Authenticatable;
class User
use Authenticatable ...
【讨论】:
谢谢。但现在它显示错误Cannot use Illuminate\Auth\Authenticatable as Authenticatable because the name is already in use
你能显示完整的当前代码吗('namespace, class, use'部分)。
我已经发布了我认为必要的代码。哪些都需要展示?
用户应该extend
Authenticatable,它不应该use
它。
@AlexeyMezenin,非常感谢你......它工作得很好......再次感谢你...... :)以上是关于Laravel 5.2 错误 App\User 无法使用 Illuminate\Foundation\Auth\User - 这不是特征的主要内容,如果未能解决你的问题,请参考以下文章
Laravel-我需要帮助将 user_id 传递给 SQL 数据库中的 tasks_table 错误:调用未定义的方法 App\\User::id()
更改命名空间时在 Laravel 中找不到类“\App\User”
Laravel 有来自 tinker 的未定义常量 App\User