sam*_*lsk 12 php sql laravel laravel-5 artisan
我是Laravel的新手,我正在教自己如何从登录表进行身份验证.我已经迁移并创建了表格.现在,我正在尝试将数据播种到登录表中,但命令提示符不断给我错误,这说明Fatal Error, class login not found我不知道我错过了什么.所以任何人都可以帮助我.这是我的代码,是的,我正在使用Laravel 4.3
<?php
class loginTableSeeder extends Seeder
{
public function run()
{
DB::table('login')->delete();
login::create(array(
'username' => 'sanju',
'password' => Hash::make('sanju')
));
}
}
?>
Run Code Online (Sandbox Code Playgroud)
Mar*_*łek 15
编辑
现在我明白了,问题在于你的login课程(早期的问题格式化确切的错误是难以理解的).您应该再次查看您拥有login类的文件名称以及类的名称.惯例是文件应该有名称Login.php(带大写字母),类的名称也应该是Login(带大写字母).您还应该检查您的Login类的命名空间.如果在App命名空间中定义,则应添加到LoginTableSeeder:
use App\Login;
Run Code Online (Sandbox Code Playgroud)
在下一行之后 <?php
所以基本上你的文件的开头应该是这样的:
<?php
use App\Login;
use Illuminate\Database\Seeder;
Run Code Online (Sandbox Code Playgroud)
更早的回答
您没有解释确切的错误是什么(可能错误是针对Seeder类)但是:
在database/seeds/DatabaseSeeder.php你应该运行这样的登录播种机:
$this->call('LoginTableSeeder');
Run Code Online (Sandbox Code Playgroud)
你应该在开头用大写字母database/seeds存档LoginTableSeeder.php.
现在,您的文件LoginTableSeeder.php文件应如下所示:
<?php
use Illuminate\Database\Seeder;
class LoginTableSeeder extends Seeder
{
public function run()
{
// your code goes here
}
}
Run Code Online (Sandbox Code Playgroud)
你需要在文件的开头导入Seeder,use并且类名应该以大写字母开头.
现在你应该运行composer dump-autoload,现在当你运行php artisan db:seed它将工作正常.
您需要为该表创建一个Eloquent模型才能使用Login::create().你可以用一个简单的工匠命令来做到这一点:
$ php artisan generate:model Login
这将在app/models目录中生成一个新的Eloquent模型,它应该如下所示.
class Login extends Eloquent {
protected $fillable = [];
protected $table = 'login';
}
Run Code Online (Sandbox Code Playgroud)
你的代码应该在那之后工作.如果它仍然不能确保你运行composer dump-autoload.