1

我正在尝试在我的 Laravel 4 应用程序中使用基于新的、基于特征的实现的 Versionable 包,如下所示

<?php


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

namespace MyApp\Models;

class User extends Eloquent implements UserInterface, RemindableInterface {

    use Venturecraft\Revisionable\Revisionable;
    ...

当我使用上面的代码时,我得到了这个错误

Class 'MyApp\Models\Eloquent' not found

我也尝试将命名空间更改为 app\models 但它仍然显示未找到错误。

请问有人可以帮我吗?我遵循了 Github 页面上的所有说明,但由于我是 Laravel 的新手,我可能会遗漏一些东西。

4

2 回答 2

3

您可以使用以下任一解决方案:

将您的类声明更改为:

class User extends \Eloquent implements \UserInterface, \RemindableInterface

或者,只需删除该行:

namespace MyApp\Models;

我建议暂时采用第二种解决方案(删除命名空间),直到您对 PHP 中的命名空间感到满意为止。

此外,您应该使用 RevisionableTrait,而不是 Revisionable,例如,

<?php

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

class User extends Eloquent implements UserInterface, RemindableInterface {

    use Venturecraft\Revisionable\RevisionableTrait;
于 2014-05-05T12:05:38.730 回答
0

您必须为 Eloquent 编写完全限定名称

class User extends \Eloquent implements UserInterface, RemindableInterface
于 2014-05-05T05:46:39.940 回答