Laravel尝试调用模型类返回未找到


Laravel Trying to Call Model Class Returns Not Found

这在我的routes.php:中

Route::post('/', function()
{
$rules = array(
'email' => 'required|email'
);

$validation = Validator::make(Input::all(), $rules);

if ($validation->fails())
{
echo "Not a valid e-mail";
} 
else
{
$subscriber = Subscriber::where('email','=', Input::get('email') );
if ($subscriber) 
{
    echo "Email already exists";
}
else
{
    Subscriber::create(array(
        'email' => Input::get('email')
        ));

在我的模型文件夹中,我定义了以下类:

<?php 
class Subscriber extends Eloquent {
protected $table = 'subscribers';
protected $fillable = array('email');
public $timestamps = false;
}
 ?>

当我尝试将信息插入数据库时,它会告诉我找不到类"Subscriber"。我是不是错过了某种联系?

确保在创建模型时运行composer dumpautoload,这样Laravel就知道新类的存在。

类文件是根据您的autoload.php文件自动拉入的。此文件是通过composer动态生成的。每次创建新的类文件时,只需运行一次即可。如果修改现有的,则不需要它。

尝试composer dump-autoloadphp artisan dump-autoload。它将重新生成所有类文件和类加载器

很抱歉恢复了一个旧线程。您需要确保该文件导入类。要做到这一点,请在routes.php文件的顶部添加以下行:

use App'Subscriber;

注意:这假设您生成的类在App文件夹中,这是默认的。