Php Laravel播种机出现错误。找不到类

Php Laravel播种机出现错误。找不到类,php,sql,laravel,laravel-5,laravel-artisan,Php,Sql,Laravel,Laravel 5,Laravel Artisan,我是Laravel的新手,我正在自学如何通过登录表进行身份验证。我已经迁移并创建了表。现在,我试图将数据植入登录表,但是命令提示符不断地给我错误,它说致命错误,找不到类登录,我不知道我错过了什么。谁能帮帮我吗。这是我的代码,是的,我使用的是Laravel4.3 <?php class loginTableSeeder extends Seeder { public function run() { DB::table('login')->delete(

我是Laravel的新手,我正在自学如何通过登录表进行身份验证。我已经迁移并创建了表。现在,我试图将数据植入登录表,但是命令提示符不断地给我错误,它说
致命错误,找不到类登录
,我不知道我错过了什么。谁能帮帮我吗。这是我的代码,是的,我使用的是Laravel4.3

<?php
class loginTableSeeder extends Seeder
{
    public function run()
    {
        DB::table('login')->delete();
        login::create(array(
            'username'  =>  'sanju',
            'password'  =>  Hash::make('sanju')
            ));
    }
}


?> 

编辑

现在我明白了,问题在于您的
登录
类(对于前面的问题格式,确切的错误难以辨认)。您应该再次查看您拥有
登录
类的文件名以及类的名称。约定是文件名应为
Login.php
(大写),类名也应为
Login
(大写)。您还应该检查
Login
类的名称空间。如果它是在
App
命名空间中定义的,则应将其添加到
LoginTableSeeder

use App\Login;

之后的下一行中,您需要为该表创建一个雄辩的模型,以便使用
Login::create()
。您可以使用简单的artisan命令执行此操作:

$php artisan生成:模型登录

这将在
app/models
目录中生成一个新的雄辩模型,该模型如下所示

class Login extends Eloquent {

    protected $fillable = [];
    protected $table = 'login';

}

你的代码应该在那之后工作。如果它仍然不能确保您运行
composer dump autoload

我也遇到了同样的问题。在我的例子中,作曲家非常老,更新后一切正常

使用以下命令更新composer:

$composer自我更新


希望它能帮助其他人。

我也有同样的问题,但您可以通过添加名称空间来解决:

namespace yournamespace; 
use App\Login;
use Illuminate\Database\Seeder;
快跑
composer转储自动加载-o
因为数据库文件夹不是用PSR-4自动加载的,所以自动加载程序将拾取新的类。

这对我来说很有效

composer dump-autoload -o 

您需要创建一个模型

$ php artisan generate:model Login

而在您的seeder类中需要添加
使用App\Models\Login
到我的loginTableSeeder文件。

尝试运行
composer dumpautoload
抱歉,它对我不起作用。我以前尝试过它,
php composer.phar diagnose
的结果是什么,它应该是
composer dump autoload
带连字符当我使用composer.phar函数时,它返回我:无法打开输入文件:composer.phar,我使用了composer dump autoload方法,但它不起作用。很抱歉,包含完整的错误信息将帮助人们准确地跟踪出错的原因谢谢您的回复。我错过了一件事。我将它命名为loginTableSeeder.php,是的,我修复了它,现在它看起来像这样,loginTableSeeder.php。现在,这是我的LoginTableSeeder.php代码,但是,它还没有修复。@samhukiklsk正如我提到的,问题可能是没有找到Seeder类,您需要有
use-illighte\Database\Seeder行在
@samhukiklsk之后我已经编辑了我的答案(答案在开头)。文档很好,但是这个错误在laravel的文档中没有提到。在我的composer.json文件中,autoload类已经存在,并在其中设置了数据库。只是运行composer dump autoload为我工作嘿,我和你的有点接近。解决方案有效,但只有50%,现在错误是找不到基表或视图。表hariyali.logins,但我的表只是登录名,所以登录名来自哪里。额外的s来自将表名指定为雄辩模型class
protected$table='login'中的类属性。我已经更新了我的答案。Eloquent自动假定表名是模型名的小写复数版本,因此在您的情况下,
登录
模型名意味着它将自动搜索
登录
表,除非您为您的模型指定
$table
属性。您可以阅读以进一步了解约定。好的,现在80%的问题已解决,现在还有一个问题,它显示未知列名“updated_at”,是否需要在迁移文件中添加timestamp()。你可以把它添加到迁移中,但是你也可以添加
protected$timestamps=false。如果宿主禁用转义怎么办?
namespace yournamespace; 
use App\Login;
use Illuminate\Database\Seeder;
composer dump-autoload -o 
$ php artisan generate:model Login