我正在跟随docs播种users表,其中显示正在使用User :: create
class UserTableSeeder extends Seeder {
public function run()
{
DB::table('users')->delete();
User::create([
'username' => 'test',
'firstname' => 'Test',
'lastname' => 'Test',
'email' => 'test@domain.com',
'password' => Hash::make('test'),
'role' => 'user'
]);
}
}
但它一直在说:
PHP Fatal error: Class 'User' not found in /home/vagrant/projects/roopla/database/seeds/UserTableSeeder.php on line 17
我想也许我需要制作:使用artisan for User的模型,但它已经存在。任何人都可以指出我正确的方向我只是开始与Laravel并通过Laracast和文档拼凑在一起,但没有Laracast播种5.0。现在看来你不能生成种子,因为工匠不认识生成:种子
答案 0 :(得分:7)
那是因为在Laravel 5中User
模型在App
命名空间中,而你的播种机在全局命名空间中。
您应该使用:
\App\User::create([
'username' => 'test',
'firstname' => 'Test',
'lastname' => 'Test',
'email' => 'test@domain.com',
'password' => Hash::make('test'),
'role' => 'user'
]);
或在播种机文件的开头:
use App\User;
现在您可以使用您展示的代码
答案 1 :(得分:1)
您需要使用use App\User;
在播种机顶部导入您的用户模型,或者只需通过\App\User::create...
引用它。您需要通过它的命名空间引用User
模型。