我创建了一个示例模型:
class ExampleModel extends Eloquent {
protected $table = 'example_model';
}
然后我试着调用ExampleModel::all()
,它返回了一个错误function all() does not exist
(似乎是创建了类但没有Eloquent函数)。将模型名称(和文件名)更改为Examplemodel
(现在模型名称是一个单词)后,它可以正常工作。问题不在于我错误拼写了一些内容,因为我已经检查了一百次,而且我的文件+类名都匹配。
我是否遗漏了有关自动加载的内容?
我在Windows上,所以我也尝试将文件名更改为Examplemodel
而不更改类名,但似乎仍然没有使用Eloquent
方法加载该类。
答案 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命令。