2015-02-12 8 views
3

Я после docs семян таблицы пользователей, который показывает User :: создавать используетсяLaravel 5 Посев

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 

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

ответ

7

Это потому, что в 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; 

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

+0

Понял, спасибо. Не генерирует ли Laravel 5 семена? Из того, что я прочитал, похоже, что это было отменено. – mtpultz

1

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

Смежные вопросы