Использование Faker в Laravel 5.0 возвращает «Пользователь класса не найден»

Я пытаюсь поместить тестовые данные в базу данных для проекта Laravel. Я следовал инструкциям на Laracasts и паре сайтов. Когда я пытаюсь запустить мой класс Seeder, я получаю «Класс« Пользователь не найден ». Вот мой класс:

 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)
));
}
}
}

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

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

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

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

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

php artisan app:name YourNamespace

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

0

use Models\User;

Должно быть:

use App\User;
0
По вопросам рекламы [email protected]