찾다
PHP 프레임워크LaravelFaker 데이터 채우기(코드)를 사용하는 laravel의 방법 소개

이 글은 Faker 데이터를 laravel에 채우는 방법에 대한 소개(코드)를 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

소개: 개발을 할 때 테스트 데이터를 추가하는 것은 필수입니다. Laravel에는 매우 편리한 데이터 채우기가 내장되어 있습니다.

데이터 마이그레이션

먼저 데이터 모델 생성 및 데이터 마이그레이션 php artisan make:model Models/FakerUser -m;php artisan make:model Models/FakerUser -m

只创建几个简单字段,编辑 database/migrations/{now_date}_create_faker_users_table.php 文件

/**
     * Run the migrations.
     *
     * @return void
     */7
    public function up()
    {
        Schema::create('faker_users', function (Blueprint $table) {
            $table->increments('id');
            $table->char('name', 20)->comment('姓名');
            $table->string('email', 50)->comment('邮箱');
            $table->tinyInteger('age')->comment('年龄');
            $table->char('city', 20)->comment('城市');
            $table->timestamps();
        });

        DB::statement("ALTER TABLE `faker_users` comment'测试用户表'"); // 表注释
    }

运行数据迁移 php artisan migrate 之后数据表创建完成。

数据填充

创建数据填充文件 php artisan make:seeder FakerUsersSeeder

创建完成后,我们可以在 run() 方法中手动添加几条测试数据。但是好的办法,是使用模型工厂,接下来把注意力转移到模型工厂中;

创建模型工厂 php artisan make:factory FakerUsersFactory

在模型工厂中,可以通过 FakerGenerator 来生成测试数据,编辑 database/factories/FakerUsersFactory.php

<?php use Faker\Generator as Faker;

$factory->define(\App\Models\FakerUser::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->safeEmail,
        'age' => $faker->numberBetween(8, 80),// 数字在 8-80 之间随机
        'city' => $faker->city,
        'created_at' => $faker->dateTimeBetween('-3 year', '-1 year'),// 时间在 三年到一年 之间
        'updated_at' => $faker->dateTimeBetween('-1 year', '-5 month'),// 时间在 一年到五个月之间
    ];
});

由上述代码可以很直白的看出 FakerGenerator 的作用。它可以生成的数据类型有很多,更多的类型可以看下官方文档,虽然是英文的,不过都有示例,简单易懂;

Faker 生成的数据默认是英文,可以在 config/app.php 中将 faker_locale 设置为 zh_CN

模型工厂写好了,接下来就是调用。目光回到数据填充文件 database/seeds/FakerUsersSeeder.php,在 run()#🎜 🎜 #
몇 가지 간단한 필드만 생성하고 database/migrations/{now_date}_create_faker_users_table.php 파일을 편집합니다.

/**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) {
            // 数据入库
            $model->save();
        });
    }
데이터 마이그레이션 실행 php artisan migration 그 후 데이터 테이블이 생성됩니다.

데이터 채우기

데이터 채우기 파일 생성 php artisan make:seeder FakerUsersSeeder;#🎜🎜 #

생성 후 run() 메서드에 여러 테스트 데이터 조각을 수동으로 추가할 수 있습니다. 하지만 좋은 방법은 Model Factory를 사용한 다음 모델 팩토리에 관심을 돌리는 것입니다.

Faker 데이터 채우기(코드)를 사용하는 laravel의 방법 소개 모델 팩토리 php artisan make:factory FakerUsersFactory code>;


모델 팩토리에서 FakerGenerator를 사용하여 테스트 데이터를 생성하고 database/factories/FakerUsersFactory.php를 편집할 수 있습니다. >

rrreeeFaker 데이터 채우기(코드)를 사용하는 laravel의 방법 소개위 코드를 보면 FakerGenerator의 기능을 확실히 알 수 있습니다. 생성할 수 있는 데이터 유형은 다양합니다. 공식 문서는 영어로 되어 있지만 예제가 포함되어 있어 이해하기 쉽습니다. > 생성됨 데이터는 기본적으로 영어로 되어 있습니다. config/app.php에서 faker_localezh_CN으로 설정할 수 있습니다. 🎜#모델 팩토리가 작성되고, 다음 단계는 이를 호출하는 것입니다. 데이터 채우기 파일 database/seeds/FakerUsersSeeder.php로 돌아갑니다. run() 메서드에서 다음 코드는

rrreee#🎜입니다. 🎜#time()은 생성 횟수, make() 메소드는 모델 인스턴스를 생성하는 것이고, Each() 메소드는 생성된 모델 인스턴스를 데이터베이스에 저장하는 것입니다.

마지막 단계는 데이터 채우기를 수행하는 것입니다. Composer dump-autoload php artisan db:seed --class=FakerUsersSeeder

Test

#🎜🎜#좋아요 , 보세요. 데이터베이스의 데이터가 올바르게 생성되었는지 확인하세요. 총 개수를 보세요#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#총 개수는 문제가 없으니 10개의 데이터를 랜덤하게 살펴보세요#🎜🎜## 🎜🎜##🎜🎜##🎜🎜 ##🎜🎜##🎜🎜#데이터도 정확합니다#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#

위 내용은 Faker 데이터 채우기(코드)를 사용하는 laravel의 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
laravel单点登录方法详解laravel单点登录方法详解Jun 15, 2022 am 11:45 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

一起来聊聊Laravel的生命周期一起来聊聊Laravel的生命周期Apr 25, 2022 pm 12:04 PM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

laravel中guard是什么laravel中guard是什么Jun 02, 2022 pm 05:54 PM

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法怎么用laravel中asset()方法怎么用Jun 02, 2022 pm 04:55 PM

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

实例详解laravel使用中间件记录用户请求日志实例详解laravel使用中间件记录用户请求日志Apr 26, 2022 am 11:53 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

laravel中间件基础详解laravel中间件基础详解May 18, 2022 am 11:46 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel路由文件在哪个目录里laravel路由文件在哪个目录里Apr 28, 2022 pm 01:07 PM

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

laravel中的scope怎么用laravel中的scope怎么用Jun 09, 2022 am 11:15 AM

在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.