Я пытаюсь поместить тестовые данные в базу данных для проекта 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)
));
}
}
}
Кто-нибудь знает, что мне нужно делать?
Я думаю, что эта проблема связана с проблемой отображения классов. Запустите следующую команду из командной строки
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)
));
}
}
}
Laravel 5 по умолчанию использует ваши модели App
namepace.
Так что вы должны обратиться к вашему User
модель как App\User
Если вы изменили пространство имен по умолчанию с
php artisan app:name YourNamespace
использовать пространство имен, которое вы использовали вместо App
use Models\User;
Должно быть:
use App\User;