2015-06-03 3 views
0

Я пытаюсь поместить тестовые данные в базу данных для проекта Laravel. Я следовал инструкциям по Laracasts и нескольким сайтам. Когда я пытаюсь запустить мой класс Сеялки, я получаю «класс„User“не найден» Вот мой класс:Использование Faker в Laravel 5.0 возвращает «Class User not found»

use Illuminate\Database\Seeder; 

class UsersTableSeeder extends Seeder { 

    public function run() 
    { 
    $faker = Faker\Factory::create(); 

    for ($i = 0; $i < 50; $i++) 
    { 
     $user = User::create(array(
      'name' => $faker->userName, 
      'email' => $faker->email, 
      'password' => $faker->word, 
      'verified' => $faker-numberBetween($min = 0, $max = 1) 
     )); 
    } 
    } 
} 

Кто-нибудь там знают, что мне нужно сделать?

+2

необходимо импортировать лет ur 'Пользовательский класс. 'use App \ User;' –

+0

@CarlosHerreraPlata СПАСИБО !!! Вот и все. –

+0

не беспокойтесь, это нормально, когда мы работаем с пространствами имен (импорта) без ide, который импортирует все для нас, в следующий раз проверьте, импортируете ли вы классы, которые используете xD –

ответ

0

Я думаю, что эта проблема связана с проблемой сопоставления классов. Выполните следующую команду из командной строки

php artisan dump-autoload 

Если это не работает, то альтернативы вы можете использовать пространство имен для ваших моделей. Для этого просто определить пространство имен в вашем пользователя модальные

namespace Models; 

использовать этот класс просто добавьте следующую строку в коде

use Illuminate\Database\Seeder; 
use Models\User; 

class UsersTableSeeder extends Seeder { 

public function run() 
{ 
$faker = Faker\Factory::create(); 

for ($i = 0; $i < 50; $i++) 
{ 
    $user = User::create(array(
     'name' => $faker->userName, 
     'email' => $faker->email, 
     'password' => $faker->word, 
     'verified' => $faker-numberBetween($min = 0, $max = 1) 
    )); 
} 
} 

}

+0

Спасибо всем. Проблема с пространством имен, отмеченная Карлосом, была проблемой. Он ответил в комментариях, поэтому я не мог отметить это как ответ .... –

0

Laravel 5 имен ваших моделей по умолчанию с App namepace. Таким образом, вы должны относиться к вашей User модели, как App\User

Если вы изменили пространство имен по умолчанию с

php artisan app:name YourNamespace 

использовать пространство имен вы использовали вместо App

0
use Models\User; 

Должно быть:

use App\User; 
+0

Если я правильно помню –