$result = Student::find(1001);
Laravel의 기본 마이그레이션 분석
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 迁移结构
迁移类通常会包含两个方法:up
和 down
。up
方法可为数据库添加新的数据表、字段或索引,而 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 为表添加字段
数据表、字段、索引: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'), ]); }
利用模型工厂类来批量创建测试数据
php artisan make:factory PostFactory -m Post // -m 表示绑定的model
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
과 유사하므로 팀에서
php artisan migrate:refresh --seed
database/migrations
디렉터리에 저장됩니다. 각 마이그레이션 파일의 이름에는 Laravel
이 마이그레이션 순서를 확인할 수 있도록 timestamp가 포함되어 있습니다.
--table
및 --create
옵션을 사용하여 데이터 테이블 이름을 지정하거나 마이그레이션 실행 시 새 데이터 테이블을 생성할지 여부를 지정할 수 있습니다. . 1.2 마이그레이션 구조
마이그레이션 클래스에는 일반적으로 up
및 down
의 두 가지 메서드가 포함됩니다. up
메서드는 새 데이터 테이블, 필드 또는 인덱스를 데이터베이스에 추가하는 반면, down
메서드는 up
메서드의 반대 작업입니다. 이 두 가지 방법으로 Laravel
데이터베이스 구조 생성기를 사용하여 데이터 테이블을 생성하고 수정할 수 있습니다.
1.2.1 데이터 테이블 만들기
php artisan make:model Models/Goods php artisan make:model Models/Goods -m //同时生成对应的migration文件
1.2.2 테이블에 필드 추가

https://lar 벨- chin a.org/doc...
1.3 마이그레이션 실행
완료되지 않은 모든 마이그레이션 실행: php artisan migration
1.4 롤백 마이그레이션마지막 마이그레이션을 롤백하려면
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);
로그인 후 복사
$result = Student::find(1001);


1.5.3 다른 Seeder 호출

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 = 'student'; protected $primaryKey = 'id'; }
migration:refresh
를 사용할 수도 있습니다. 데이터베이스를 채우는 명령을 실행하면 모든 마이그레이션이 롤백되고 다시 실행됩니다. 이 명령은 데이터베이스를 재건하는 데 사용될 수 있습니다. 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 = 'student'; protected $primaryKey = 'id'; }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
위 내용은 Laravel의 기본 마이그레이션 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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