목차
1. 마이그레이션은 데이터 테이블을 생성하고 Seeder 데이터베이스를 데이터로 채웁니다.
1.1 创建迁移
1.2 迁移结构
1.2.1 创建数据表
1.2.2 为表添加字段
1.3 运行迁移
1.4 回滚迁移
1.5 使用Seeder方式向数据库填充数据
1.5.1 编写 Seeders
1.5.2 数据库填充
1.5.3 调用其他 Seeders
1.5.4 运行 Seeders
1.2.1 데이터 테이블 만들기
1.2.2 테이블에 필드 추가
https://lar 벨- chin a.org/doc...
1.5.1 쓰기 시더
1.5.2 데이터베이스 채우기
$result = Student::find(1001);
로그인 후 복사
" >
$result = Student::find(1001);
로그인 후 복사
1.5.3 다른 Seeder 호출
1.5.4 Seeder 실행
기본적으로 db:seed 명령은 다른 호출에 사용할 수 있는 DatabaseSeeder 클래스를 실행합니다. 시드 클래스. 그러나 --class 옵션을 사용하여 특정 seeder 클래스를 지정할 수도 있습니다.
SEO에 도움이 되는 고유한 필드 값을 기반으로 세부정보 가져오기
2.模型与数据表的绑定
백엔드 개발 PHP 튜토리얼 Laravel의 기본 마이그레이션 분석

Laravel의 기본 마이그레이션 분석

Jul 10, 2018 pm 01:49 PM
laravel migration 모델 라우팅

1. 마이그레이션은 데이터 테이블을 생성하고 Seeder 데이터베이스를 데이터로 채웁니다.

데이터베이스 마이그레이션은 데이터베이스의 버전 제어版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构

1.1 创建迁移

php artisan make:migration create_users_table --create=users

php artisan make:migration add_votes_to_users_table --table=users //添加字段
로그인 후 복사

    新的迁移文件会被放置在 database/migrations 目录中。每个迁移文件的名称都包含了一个时间戳,以便让 Laravel 确认迁移的顺序。
    --table--create 选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。

1.2 迁移结构

    迁移类通常会包含两个方法:updownup 方法可为数据库添加新的数据表、字段或索引,而 down 方法则是 up 方法的逆操作。可以在这两个方法中使用 Laravel 数据库结构生成器来创建以及修改数据表。

1.2.1 创建数据表

/**
     * 运行数据库迁移
     *
     * @return void
     */
    public function up()
    {
        Schema::create('flights', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name')->comment('字段注解');
            $table->string('airline')->comment('字段注解');
            $table->timestamps();
        });
    }

    /**
     * 回滚数据库迁移
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('flights');
    }
로그인 후 복사

1.2.2 为表添加字段

Laravel의 기본 마이그레이션 분석

数据表、字段、索引:https://laravel-china.org/doc...

1.3 运行迁移

运行所有未完成的迁移:php artisan migrate

1.4 回滚迁移

回滚最后一次迁移,可以使用 rollback 命令:

php artisan migrate:rollback
php artisan migrate:rollback --step=5 //回滚迁移的个数
php artisan migrate:reset //回滚应用程序中的所有迁移
php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令
php artisan migrate  //恢复
로그인 후 복사

1.5 使用Seeder方式向数据库填充数据

1.5.1 编写 Seeders

php artisan make:seeder UsersTableSeeder
로그인 후 복사

1.5.2 数据库填充

 /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->insert([
            'name' => str_random(10),
            'email' => str_random(10).'@gmail.com',
            'password' => bcrypt('secret'),
        ]);
    }
로그인 후 복사

Laravel의 기본 마이그레이션 분석

    利用模型工厂类来批量创建测试数据

php artisan make:factory PostFactory -m Post // -m 表示绑定的model
로그인 후 복사

Laravel의 기본 마이그레이션 분석

Laravel의 기본 마이그레이션 분석

1.5.3 调用其他 Seeders

    在 DatabaseSeeder 类中,你可以使用 call 方法来运行其他的 seed 类。

/**
 * Run the database seeds.
 *
 * @return void
 */
public function run()
{
    $this->call([
        UsersTableSeeder::class,
        PostsTableSeeder::class,
        CommentsTableSeeder::class,
    ]);
}
로그인 후 복사

1.5.4 运行 Seeders

    默认情况下,db:seed 命令将运行 DatabaseSeeder 类,这个类可以用来调用其它 Seed 类。不过,你也可以使用 --class 选项来指定一个特定的 seeder 类:

php artisan db:seed

php artisan db:seed --class=UsersTableSeeder
로그인 후 복사

    你也可以使用 migrate:refresh과 유사하므로 팀에서

데이터베이스 구조를 쉽게 수정하고 공유할 수 있습니다.

1.1 마이그레이션 만들기

php artisan migrate:refresh --seed
로그인 후 복사
새 마이그레이션 파일은 database/migrations 디렉터리에 저장됩니다. 각 마이그레이션 파일의 이름에는 Laravel이 마이그레이션 순서를 확인할 수 있도록

timestampLaravel의 기본 마이그레이션 분석가 포함되어 있습니다.

--table--create 옵션을 사용하여 데이터 테이블 이름을 지정하거나 마이그레이션 실행 시 새 데이터 테이블을 생성할지 여부를 지정할 수 있습니다. .

Laravel의 기본 마이그레이션 분석1.2 마이그레이션 구조

마이그레이션 클래스에는 일반적으로 updown의 두 가지 메서드가 포함됩니다. up 메서드는 새 데이터 테이블, 필드 또는 인덱스를 데이터베이스에 추가하는 반면, down 메서드는 up 메서드의 반대 작업입니다. 이 두 가지 방법으로 Laravel 데이터베이스 구조 생성기를 사용하여 데이터 테이블을 생성하고 수정할 수 있습니다. Laravel의 기본 마이그레이션 분석

1.2.1 데이터 테이블 만들기

php artisan make:model Models/Goods
php artisan make:model Models/Goods -m  //同时生成对应的migration文件
로그인 후 복사

1.2.2 테이블에 필드 추가

Laravel의 기본 마이그레이션 분석

Laravel의 기본 마이그레이션 분석

데이터 테이블, 필드, 인덱스:

https://lar 벨- chin a.org/doc...

1.3 마이그레이션 실행

완료되지 않은 모든 마이그레이션 실행: php artisan migration1.4 롤백 마이그레이션
Laravel의 기본 마이그레이션 분석마지막 마이그레이션을 롤백하려면 rollback 명령:

php artisan make:controller UserController --resource
Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
로그인 후 복사

1.5 Seeder 메소드를 사용하여 데이터베이스에 데이터 채우기

1.5.1 쓰기 시더

    try_files $uri $uri/ /index.php?$query_string;
}
로그인 후 복사

1.5.2 데이터베이스 채우기

php artisan make:request StoreBlogPost
로그인 후 복사


모델 팩토리 클래스를 사용하여 일괄 테스트 데이터 생성

$result = Student::find(1001);
로그인 후 복사

Laravel의 기본 마이그레이션 분석

Laravel의 기본 마이그레이션 분석

1.5.3 다른 Seeder 호출

Laravel의 기본 마이그레이션 분석 DatabaseSeeder 클래스에서 call 메소드를 사용하여 다른 seed 클래스를 실행할 수 있습니다.
DB::table("表名")->get();
DB::table("表名")->where(条件)->get();
로그인 후 복사
로그인 후 복사

1.5.4 Seeder 실행

기본적으로 db:seed 명령은 다른 호출에 사용할 수 있는 DatabaseSeeder 클래스를 실행합니다. 시드 클래스. 그러나 --class 옵션을 사용하여 특정 seeder 클래스를 지정할 수도 있습니다.

<?php namespace App;   
use Illuminate\Database\Eloquent\Model;
class Student extends Model{
    protected $table = &#39;student&#39;;
    protected $primaryKey = &#39;id&#39;;
}
로그인 후 복사
로그인 후 복사

migration:refresh를 사용할 수도 있습니다. 데이터베이스를 채우는 명령을 실행하면 모든 마이그레이션이 롤백되고 다시 실행됩니다. 이 명령은 데이터베이스를 재건하는 데 사용될 수 있습니다. Laravel의 기본 마이그레이션 분석rrreee

SEO에 도움이 되는 고유한 필드 값을 기반으로 세부정보 가져오기

Laravel 5.5 Nginx 구성:

root /example.com/public;

location / {🎜rrreee🎜location = /favicon.ico { access_log off; log_not_found off; 🎜location = /robots.txt { access_log off; log_not_found off; }🎜🎜4.1 빠른 확인🎜🎜🎜🎜🎜4.2 양식 요청 확인🎜🎜🎜🎜D 추론 및 메모 🎜🎜1. find 및 get🎜🎜find: 기본 키를 통해 지정된 데이터 반환🎜rrreee🎜get - 여러 데이터 결과 쿼리🎜
DB::table("表名")->get();
DB::table("表名")->where(条件)->get();
로그인 후 복사
로그인 후 복사

2.模型与数据表的绑定

创建Model类型,方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键)

<?php namespace App;   
use Illuminate\Database\Eloquent\Model;
class Student extends Model{
    protected $table = &#39;student&#39;;
    protected $primaryKey = &#39;id&#39;;
}
로그인 후 복사
로그인 후 복사

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

위 내용은 Laravel의 기본 마이그레이션 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Apr 01, 2025 pm 02:45 PM

Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업이 실행되지 않습니다 : 스케줄 후 작업이 실행되지 않으면 어떻게해야합니까? laravel 일정 작업이 실행되지 않습니다 : 스케줄 후 작업이 실행되지 않으면 어떻게해야합니까? Mar 31, 2025 pm 11:24 PM

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Mar 31, 2025 pm 11:48 PM

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT 관리자에서 데이터를 추가하기 위해 클릭하는 사용자 정의 테이블 기능을 구현하는 방법은 무엇입니까? DCAT 관리자에서 데이터를 추가하기 위해 클릭하는 사용자 정의 테이블 기능을 구현하는 방법은 무엇입니까? Apr 01, 2025 am 07:09 AM

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel Redis Connection 공유 : 선택 메소드가 다른 연결에 영향을 미치는 이유는 무엇입니까? Laravel Redis Connection 공유 : 선택 메소드가 다른 연결에 영향을 미치는 이유는 무엇입니까? Apr 01, 2025 am 07:45 AM

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...

Laravel 멀티 테넌트 확장 STANCL/TENANCY : 테넌트 데이터베이스 연결의 호스트 주소를 사용자 정의하는 방법은 무엇입니까? Laravel 멀티 테넌트 확장 STANCL/TENANCY : 테넌트 데이터베이스 연결의 호스트 주소를 사용자 정의하는 방법은 무엇입니까? Apr 01, 2025 am 09:09 AM

Laravel 다중 테넌트 확장 패키지 패키지 패키지 패키지 패키지 Stancl/Tenancy, ...

Bangla 부분 모델 검색의 Laravel Eloquent Orm) Bangla 부분 모델 검색의 Laravel Eloquent Orm) Apr 08, 2025 pm 02:06 PM

Laraveleloquent 모델 검색 : 데이터베이스 데이터를 쉽게 얻을 수 있습니다. 이 기사는 데이터베이스에서 데이터를 효율적으로 얻는 데 도움이되는 다양한 웅변 모델 검색 기술을 자세히 소개합니다. 1. 모든 기록을 얻으십시오. 모든 () 메소드를 사용하여 데이터베이스 테이블에서 모든 레코드를 가져옵니다. 이것은 컬렉션을 반환합니다. Foreach 루프 또는 기타 수집 방법을 사용하여 데이터에 액세스 할 수 있습니다 : Foreach ($ postas $ post) {echo $ post->

Laravel 's geospatial : 대화식지도의 최적화 및 많은 양의 데이터 Laravel 's geospatial : 대화식지도의 최적화 및 많은 양의 데이터 Apr 08, 2025 pm 12:24 PM

7 백만 레코드를 효율적으로 처리하고 지리 공간 기술로 대화식지도를 만듭니다. 이 기사는 Laravel과 MySQL을 사용하여 7 백만 개 이상의 레코드를 효율적으로 처리하고 대화식지도 시각화로 변환하는 방법을 살펴 봅니다. 초기 챌린지 프로젝트 요구 사항 : MySQL 데이터베이스에서 7 백만 레코드를 사용하여 귀중한 통찰력을 추출합니다. 많은 사람들이 먼저 프로그래밍 언어를 고려하지만 데이터베이스 자체를 무시합니다. 요구 사항을 충족시킬 수 있습니까? 데이터 마이그레이션 또는 구조 조정이 필요합니까? MySQL이 큰 데이터로드를 견딜 수 있습니까? 예비 분석 : 주요 필터 및 속성을 식별해야합니다. 분석 후, 몇 가지 속성만이 솔루션과 관련이 있음이 밝혀졌습니다. 필터의 타당성을 확인하고 검색을 최적화하기위한 제한 사항을 설정했습니다. 도시를 기반으로 한지도 검색

See all articles