Laravel 5 Seeding

Я следую за документы заполнить таблицу пользователей, которая показывает, что User :: create используется

class UserTableSeeder extends Seeder {

public function run()
{
DB::table('users')->delete();

User::create([
'username' => 'test',
'firstname' => 'Test',
'lastname' => 'Test',
'email' => '[email protected]',
'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

Я подумал, может быть, мне нужно сделать: модель с использованием ремесленника для пользователя, но она уже существует. Может кто-нибудь направить меня в правильном направлении, я только начинаю с Laravel и собираю его вместе через Laracast и документы, но Laracast по заполнению для 5.0 не существует. Не похоже, что вы можете генерировать семена сейчас, так как ремесленник не распознает генерировать: seed

3

Решение

Это потому что в Laravel 5 User модель находится в App пространство имен, тогда как ваш сидр находится в глобальном пространстве имен.

Вы должны использовать:

 \App\User::create([
'username' => 'test',
'firstname' => 'Test',
'lastname' => 'Test',
'email' => '[email protected]',
'password' => Hash::make('test'),
'role' => 'user'
]);

или в начале файла сеялки:

use App\User;

и теперь вы можете использовать код, который вы показали

7

Другие решения

Вам нужно либо импортировать свою пользовательскую модель в верхней части сеялки с use App\User; или просто ссылаться на это через \App\User::create..., Вам нужно сослаться на User модель через это пространство имен.

1

По вопросам рекламы [email protected]