Автор оригинала: David Wong.
Представил
При разработке важно добавлять тестовые данные, в laravel встроено очень удобное заполнение данных, ниже приведен пример.
миграция данных
- Сначала создайте модель данных и миграцию данных
phpartisan make:модели моделей/Поддельный пользователь-m; - Создайте всего несколько простых полей, отредактируйте
базу данных/миграции/{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"
}- Запуск миграции данных
php artisan migrateЗатем создается таблица данных.
Заполнение данных
- Создайте файл данных файл
php ремесленник делает:сеялка FakerUsersSeeder; - После завершения создания мы можем создать
run()Несколько тестовых данных добавляются вручную в метод. Но хороший способ-это использовать его. Модельная фабрика Затем обратите свое внимание на фабрику моделей. - Создание фабрики моделей
php artisan make:фабрика пользователей-фальшивомонетчиков; - На фабрике моделей
Фальшивомонетчик\ГенераторЧтобы сгенерировать тестовые данные, отредактируйте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
];
});Как вы можете видеть из приведенного выше кода, это очень просто. Фейкер\Генератор Функция. Он может генерировать множество типов данных, больше типов можно увидеть в официальных документах, хотя и на английском языке, но есть примеры, простые и понятные;
ФальшивомонетчикСгенерированные данные по умолчанию на английском языке и могут быть использованы вconfig/app.phpОбщие сведенияfaker_localeУстановите значениеzh_CN;- Записывается фабрика моделей, а затем выполняется вызов. Оглянитесь назад на файл данных файл
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();
});
}время() Это количество поколений. сделать() Метод заключается в создании экземпляра модели в каждом() Метод сохраняет сгенерированные экземпляры модели в базе данных.
- Наконец, выполняется заполнение данных.
дамп композитора-автозагрузкапослеphp база данных ремесленников:семена
тест
Хорошо, давайте посмотрим, правильно ли сгенерированы данные в базе данных. Посмотрите на общее число.
С общей суммой проблем нет. Посмотрите на десять фрагментов данных наугад.
Данные также верны.
Список литературы: Заполнение Данных, Тестирование базы Данных Документов Laravel, Подделка.
Оригинал: “https://developpaper.com/laravel-fills-with-faker-data/”