Рубрики
Uncategorized

Laravel заполняется фальшивыми данными

Автор оригинала: David Wong.

Представил

При разработке важно добавлять тестовые данные, в laravel встроено очень удобное заполнение данных, ниже приведен пример.

миграция данных

  1. Сначала создайте модель данных и миграцию данных php artisan make:модели моделей/Поддельный пользователь-m ;
  2. Создайте всего несколько простых полей, отредактируйте базу данных/миграции/{now_date}_create_faker_users_table.php файл
/**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('faker_users', function (Blueprint $table) {
            $table->increments('id');
            Table - > char ('name', 20) - > comment ('name');
            $table - > string ('email', 50) - > comment ('mailbox');
            Table - > tinyInteger ('age') - > comment ('age');
            Table - > char ('city', 20) - > comment ('city');
            $table->timestamps();
        });

        DB:: statement ("ALTER TABLE `faker_users` comment'test user table');//table comment"
    }
  1. Запуск миграции данных php artisan migrate Затем создается таблица данных.

Заполнение данных

  1. Создайте файл данных файл php ремесленник делает:сеялка FakerUsersSeeder ;
  2. После завершения создания мы можем создать run() Несколько тестовых данных добавляются вручную в метод. Но хороший способ-это использовать его. Модельная фабрика Затем обратите свое внимание на фабрику моделей.
  3. Создание фабрики моделей php artisan make:фабрика пользователей-фальшивомонетчиков ;
  4. На фабрике моделей Фальшивомонетчик\Генератор Чтобы сгенерировать тестовые данные, отредактируйте database/factories/FakerUsersFactory.php
define(\App\Models\FakerUser::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->safeEmail,
        'age'=> $faker - > numberBetween (8, 80), // Number Random between 8 and 80
        'city' => $faker->city,
        'create_at'=> $faker - > dateTime Between ('-3 year','-1 year'), // between three and one year
        'updated_at'=> $faker - > dateTime Between ('-1 year','-5 month'), // time between one year and five months
    ];
});

Как вы можете видеть из приведенного выше кода, это очень просто. Фейкер\Генератор Функция. Он может генерировать множество типов данных, больше типов можно увидеть в официальных документах, хотя и на английском языке, но есть примеры, простые и понятные;

  1. Фальшивомонетчик Сгенерированные данные по умолчанию на английском языке и могут быть использованы в config/app.php Общие сведения faker_locale Установите значение zh_CN ;
  2. Записывается фабрика моделей, а затем выполняется вызов. Оглянитесь назад на файл данных файл database/seeds/FakerUsersSeeder.php В выполнить() В методе используется следующий код
/**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) {
            // Data warehousing
            $model->save();
        });
    }

время() Это количество поколений. сделать() Метод заключается в создании экземпляра модели в каждом() Метод сохраняет сгенерированные экземпляры модели в базе данных.

  1. Наконец, выполняется заполнение данных. дамп композитора-автозагрузка после php база данных ремесленников:семена

тест

Хорошо, давайте посмотрим, правильно ли сгенерированы данные в базе данных. Посмотрите на общее число.

С общей суммой проблем нет. Посмотрите на десять фрагментов данных наугад.

Данные также верны.

Список литературы: Заполнение Данных, Тестирование базы Данных Документов Laravel, Подделка.

Оригинал: “https://developpaper.com/laravel-fills-with-faker-data/”