Пакет Faker, проблемы с поиском баз данных

Я довольно глубоко в кроличью нору на этом. Этот вопрос на самом деле является частью более крупного вопроса, связанного с корректной работой моего приложения Laravel. Вот ссылка на другой вопрос, если вы хотите узнать больше о моих проблемах: Модель, ошибка базы данных в Laravel.

Итак, теперь я пытаюсь использовать пакет базы данных Faker для заполнения своей базы данных. Я установил его правильно, но у меня не получается заставить его работать за пределами таблицы User. Вот что у меня есть для моего UserTableSeeder:

class UserTableSeeder extends Seeder {

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

for ($i = 0; $i < 100; $i++)
{
User::create(
[
'id' => $faker->randomDigit,
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->freeEmail,
'notify' => $faker->randomElement($array = ['y', 'n']),
'created_at' => $faker->dateTime($max = 'now'),
'updated_at' => $faker->dateTime($max = 'now')
]
);
}
}
}

Это наполовину работает, когда я бегу php artisan db:seed; это создает только дюжину строк или около того. Моя таблица пользователей имеет семь столбцов:

id (его тип целое число),
first_name (VARCHAR),
last_name (VARCHAR),
электронная почта (VARCHAR),
уведомить (перечисление),
created_at (метка времени),
и updated_at (отметка времени)

Любой код, который будет обрабатывать это правильно или служить в качестве шаблона для аналогичной таблицы, будет принята с благодарностью. Спасибо, ребята.

3

Решение

'id' => $faker->randomDigit вероятно, вызывает конфликтующие идентификаторы (держу пари, вы получите десять строк, а не дюжину, так как есть десять возможных цифр). Пытаться $faker->randomNumber вместо.

2

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

Миграция: $ table-> increments (‘id’);

Имея это, вам не нужно устанавливать какое-либо значение на ID, и вы избежите столкновения ID

0

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