像" MyModel" (2个字)不加载

时间:2014-06-05 12:18:18

标签: php laravel eloquent

我创建了一个示例模型:

class ExampleModel extends Eloquent {
   protected $table = 'example_model';
}

然后我试着调用ExampleModel::all(),它返回了一个错误function all() does not exist(似乎是创建了类但没有Eloquent函数)。将模型名称(和文件名)更改为Examplemodel(现在模型名称是一个单词)后,它可以正常工作。问题不在于我错误拼写了一些内容,因为我已经检查了一百次,而且我的文件+类名都匹配。

我是否遗漏了有关自动加载的内容?

我在Windows上,所以我也尝试将文件名更改为Examplemodel而不更改类名,但似乎仍然没有使用Eloquent方法加载该类。

4 个答案:

答案 0 :(得分:1)

你做过 Autoload(dumpautoload)吗?

因为这种情况适合我。

答案 1 :(得分:1)

做作曲家转储自动加载 以下内容适用于我:

class ExampleTest extends \Eloquent {
protected $table = 'users';

}

然后在我的路线文件上:

Route::get('/', function()
{
    $data = ExampleTest::all();

    return $data;

});

这为我提供了来自用户表的数据。

答案 2 :(得分:0)

在models文件夹中创建一个example.php文件,然后写下:

class Example extends Eloquent {
    protected $table = 'example_model';
}

然后尝试:

Example::all();

取自here

答案 3 :(得分:0)

我发现了一个问题。我的班级与我的模型相同。 Laravel是自动加载迁移的模型,它认为我指的是迁移而不是模型。

在修复之后我当然必须运行dumpautoload composer命令。