【问题标题】:Laravel Trait 'Illuminate\Auth\UserTrait' not found未找到 Laravel Trait 'Illuminate\Auth\UserTrait'
【发布时间】:2014-08-07 03:11:25
【问题描述】:

您好,我在 Google 上搜索过,但没有找到任何相关信息,而且我之前在 Laravel 中从未遇到过此错误。

我没有修改我的用户模型,只是添加了hasOne 关系。

我不断收到这个错误,我现在 2 小时都无法解决

Trait 'Illuminate\Auth\UserTrait' not found 

我没有碰过模型

用户模型

<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password', 'remember_token');


    public function metadata()
    {
        return $this->hasOne('Metadata');
    }

}

有人可以帮帮我吗?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    听起来你需要升级到 Laravel v4.2。

    直到 v4.2 才引入 Illuminate\Auth\UserTrait 类。查看github上的change log

    如果您确实升级,请查看upgrade guides,因为还有一些其他更改可能会破坏您的应用。

    【讨论】:

    • 不,我下载了 4.1 最新安装,升级指南没有说明这个唯一的软删除特性
    • 它不在 v4.1 中......就像我说的,它是从 v4.2 引入的。您可以通过阅读API docs 来确认这一点。
    • @Jeemusu 假设 4.2 我不明白你为什么说这些特征不是必需的?据我所知,为了履行UserInterfaceRemindableInterface 合同,它们是必需的(或您自己的实现)。您发布的课程将无法正常工作,因为它会抱怨方法未完成。
    • @WebStudent 如果您使用的是 4.1(您的 composer.json 文件显示 "laravel/framework": "4.1.*"),那么这些特征(如 @Jeemusu 所说)不存在 - 您必须自己填写方法。您可以查看 here 以获取包含方法但不包含特征的 User 模型的最新 4.1 版本。
    • @alexrussell 你是对的,如果我查看 4.2 User Model on github 它与 OP 匹配,对不起,我离开了我的 4.1.2 版本。 :S
    猜你喜欢
    • 2018-02-11
    • 2018-08-03
    • 1970-01-01
    • 2016-05-26
    • 2018-06-20
    • 2020-08-16
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多