目次
1. 移行では、データ テーブルが作成され、Seeder データベースにデータが設定されます。
1.1 移行の作成
すべての未処理の移行の実行:
最後の移行をロールバックするには、
1.5.1 シーダーの作成
1.5.2 データベースの充填
デフォルトでは、
モデルを作成します:
#相違点と注意事項
$result = Student::find(1001);
ログイン後にコピー
" >
$result = Student::find(1001);
ログイン後にコピー
2.模型与数据表的绑定

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 移行の構造

通常、移行クラスには

updown という 2 つのメソッドが含まれます。 up メソッドは新しいデータ テーブル、フィールド、またはインデックスをデータベースに追加できますが、down メソッドは up メソッドの逆の操作です。これら 2 つの方法で 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 職人移行

1.4 移行のロールバック

最後の移行をロールバックするには、

rollback

コマンドを使用できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan migrate:rollback php artisan migrate:rollback --step=5 //回滚迁移的个数 php artisan migrate:reset //回滚应用程序中的所有迁移 php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令 php artisan migrate  //恢复</pre><div class="contentsignin">ログイン後にコピー</div></div>1.5 Seeder メソッドを使用してデータをデータベース

1.5.1 シーダーの作成

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 他のシーダーを呼び出す

DatabaseSeeder 内

クラスでは、call メソッドを使用して他の seed クラスを実行できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/**  * Run the database seeds.  *  * @return void  */ public function run() {     $this-&gt;call([         UsersTableSeeder::class,         PostsTableSeeder::class,         CommentsTableSeeder::class,     ]); }</pre><div class="contentsignin">ログイン後にコピー</div></div>1.5.4 Seeders の実行

デフォルトでは、

db:seed

コマンドは DatabaseSeeder クラスを実行します。このクラスは、次の呼び出しに使用できます。他の シード クラス。ただし、--class オプションを使用して、特定の seeder クラスを指定することもできます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan db:seed php artisan db:seed --class=UsersTableSeeder</pre><div class="contentsignin">ログイン後にコピー</div></div>

mite:refresh

も使用できます。コマンドを使用してデータベースにデータを追加します。これにより、すべての移行がロールバックされ、再実行されます。このコマンドを使用してデータベースを再構築できます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan migrate:refresh --seed</pre><div class="contentsignin">ログイン後にコピー</div></div> 2. モデル

モデルを作成します:

php artisan make:model Models/Goods
php artisan make:model Models/Goods -m  //同时生成对应的migration文件
ログイン後にコピー

Laravel の基本的な移行の分析

Laravel の基本的な移行の分析

Laravel の基本的な移行の分析

#3. ルーティングLaravel の基本的な移行の分析

ルートをバッチで作成: (リソース ルーティング)

php artisan make:controller UserController --resource
Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
ログイン後にコピー

独自のフィールドに基づく詳細を取得するための値。SEO に有益です。


Laravel 5.5 Nginx 設定: Laravel の基本的な移行の分析root /example.com/public;

location / {

    try_files $uri $uri/ /index.php?$query_string;
}
ログイン後にコピー

location = /favicon.ico { access_log オフ; log_not_found オフ; }
location = /robots.txt { access_log オフ; log_not_found オフ; }

4. 確認

4.1 クイック検証

#4.2 フォームリクエストの検証

#

php artisan make:request StoreBlogPost
ログイン後にコピー
Laravel の基本的な移行の分析

#相違点と注意事項

1. find と getLaravel の基本的な移行の分析

find: 主キーを介して指定されたデータを返します

$result = Student::find(1001);
ログイン後にコピー

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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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

ビジュアル Web 開発ツール

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スケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

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接続共有:選択方法が他の接続に影響するのはなぜですか? Laravel Redis接続共有:選択方法が他の接続に影響するのはなぜですか? Apr 01, 2025 am 07:45 AM

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

Laravel Multi-Tenant Extension Stancl/Tenancy:テナントデータベース接続のホストアドレスをカスタマイズする方法は? Laravel Multi-Tenant Extension Stancl/Tenancy:テナントデータベース接続のホストアドレスをカスタマイズする方法は? Apr 01, 2025 am 09:09 AM

Laravel Multi-Tenant拡張機能パッケージStancl/Tenancyのカスタムテナントデータベース接続Laravel Multi-Tenant ExtensionパッケージStancl/Tenancyを使用したマルチテナントアプリケーションを構築する際の...

バングラ部分モデル検索のlaravelEloquent orm) バングラ部分モデル検索のlaravelEloquent orm) Apr 08, 2025 pm 02:06 PM

LaravelEloquentモデルの検索:データベースデータを簡単に取得するEloquentormは、データベースを操作するための簡潔で理解しやすい方法を提供します。この記事では、さまざまな雄弁なモデル検索手法を詳細に紹介して、データベースからのデータを効率的に取得するのに役立ちます。 1.すべてのレコードを取得します。 ALL()メソッドを使用して、データベーステーブルですべてのレコードを取得します:useapp \ models \ post; $ post = post :: all();これにより、コレクションが返されます。 Foreach Loopまたはその他の収集方法を使用してデータにアクセスできます。

SFTを大幅に超えて、O1/DeepSeek-R1の背後にある秘密は、マルチモーダルの大規模モデルでも使用できます SFTを大幅に超えて、O1/DeepSeek-R1の背後にある秘密は、マルチモーダルの大規模モデルでも使用できます Mar 12, 2025 pm 01:03 PM

上海ジョトン大学、上海アイラブ、および香港中国大学の研究者は、Visual Language Big Model(LVLM)のパフォーマンスを大幅に改善するために少量のデータのみを必要とする視覚RFT(視覚エンハンスメントファインチューニング)オープンソースプロジェクトを開始しました。 Visual-RFTは、DeepSeek-R1のルールベースの強化学習アプローチとOpenAIの強化微調整(RFT)パラダイムを巧みに組み合わせて、このアプローチをテキストフィールドから視野に拡張しました。視覚的サブカテゴリ化やオブジェクト検出などのタスクの対応するルール報酬を設計することにより、Visual-RFTは、テキスト、数学的推論、その他のフィールドに限定されているDeepSeek-R1メソッドの制限を克服し、LVLMトレーニングの新しい方法を提供します。 Vis

See all articles