目次
2。データベーシーズからシーダーを呼び出します
3.シーダーを実行します
4。オプション:シード固有のクラス
効果的な播種のためのヒント
ホームページ PHPフレームワーク Laravel Laravelでデータベースをシードする方法は?

Laravelでデータベースをシードする方法は?

Jul 28, 2025 am 04:23 AM
laravel データベース

シーダーファイルの作成:PHP Artisan Make:Seeder UserSeederを使用してシーダークラスを生成し、実行方法のモデル工場またはデータベースクエリを介してデータを挿入します。 2。Databaseseederで他のシーダーを呼び出す:sulderseeder、Postseederなどを登録$ this-> call()を介して依存関係が正しいことを確認します。 3.シーダーの実行:PHP Artisan DBを実行:すべての登録シーダーを実行するか、PHP Artisan Migrate:fresh-を使用してデータをリセットして補充します。 4.オプションで特定のシーダーを個別に実行します。PHP職人db:seed -class = userseederを使用して、指定されたシーダーのみを実行します。モデルファクトリを使用して実際のデータを生成し、ローカル環境でのみ播種し、外部のキー依存の順序に注意を払い、生産環境での誤操作を避け、初期データベースデータを効果的に管理することをお勧めします。

Laravelでデータベースをシードする方法は?

Laravelでデータベースをシードすることは、データベースをテストまたは初期データに入力できる簡単なプロセスです。適切に行う方法は次のとおりです。

Laravelでデータベースをシードする方法は?

1.シーダーファイルを作成します

Laravelは、シーダークラスを使用してデータを挿入します。職人を使用して作成できます。

 PHP Artisan Make:Seeder UserSeeder

これによりdatabase/seeders/UserSeeder.phpにファイルが作成されます。

Laravelでデータベースをシードする方法は?

run()メソッド内では、雄弁なモデルインスタンスまたはdbクエリを追加できます。

 <?php

名前空間データベース\ Seeders;

Illuminate \ database \ Seederを使用します。
app \ models \ userを使用してください。

クラスユーザーシーダーはシーダーを拡張します
{
    パブリック関数run()
    {
        user :: factory() - > create([
            &#39;name&#39; => &#39;John Doe&#39;、
            「電子メール」=> &#39;john@example.com&#39;、
        ]);

        //または工場を使用して複数のユーザーを作成します
        user :: factory() - > count(10) - > create();
    }
}

User::factory()を使用している場合は、対応するモデルと工場があることを確認してください。

Laravelでデータベースをシードする方法は?

2。データベーシーズからシーダーを呼び出します

メインシーダーはDatabaseSeederdatabase/seeders/DatabaseSeeder.php )です。それを使用して他のシーダーを呼び出します。

 <?php

名前空間データベース\ Seeders;

Illuminate \ database \ Seederを使用します。

クラスデータベースエダーはシーダーを拡張します
{
    パブリック関数run()
    {
        $ this-> call([[
            userseeder :: class、
            Postseeder :: class、
            commentseeder :: class、
        ]);
    }
}

これにより、シーダーが順番に実行されます。


3.シーダーを実行します

シーダーを実行するには:

 PHP Artisan DB:シード

これにより、 DatabaseSeederが実行され、特定の他のものを呼び出します。

?最初にデータベースをリセットする場合(新鮮なシードとシードを移行します)、次のことを使用します。

 PHP職人の移行:フレッシュ - シード

または定期的な移行後の種子:

 PHPの職人が移行します
PHP Artisan DB:シード

4。オプション:シード固有のクラス

他の人に影響を与えることなく、単一の播種を実行できます。

 PHP Artisan DB:Seed -Class = userSeeder

データをテストするときに開発中に役立ちます。


効果的な播種のためのヒント

  • モデルファクトリを使用してくださいdatabase/factories/現実的なデータを生成します。

  • 環境を確認してください:必要でない限り、生産で見ないようにしてください:

    パブリック関数run()
    {
        if(app() - > environment( &#39;local&#39;)){
            //ローカルのシードテストデータのみ
            user :: factory() - > count(50) - > create();
        }
    }
  • 外部キーを処理する:テーブルに関係がある場合は、最初に親のテーブルを必ず表示してください(たとえば、投稿の前にユーザー)。


  • 基本的に、Laravelのシーダーシステムは、初期データを完全に制御できます。クラスを作成し、順番に呼び出し、必要に応じてdb:seedを使用します。複雑ではありませんが、工場と組み合わせると強力です。

    以上がLaravelでデータベースをシードする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLにすべてのデータベースを表示する方法 MySQLにすべてのデータベースを表示する方法 Aug 08, 2025 am 09:50 AM

MySQLにすべてのデータベースを表示するには、ShowDataBaseコマンドを使用する必要があります。 1.MySQLサーバーにログインした後、ShowDatabaseを実行できます。現在のユーザーがアクセスする許可があるすべてのデータベースをリストするコマンド。 2。information_schema、mysql、performance_schema、sysなどのシステムデータベースはデフォルトで存在しますが、許可が不十分なユーザーはそれを見ることができない場合があります。 3. selectschema_namefrominformation_schema.schemataを介してデータベースをクエリしてフィルタリングすることもできます。たとえば、システムデータベースを除外して、ユーザーが作成したデータベースのみを表示します。必ず使用してください

Laravelで雄弁でサブQueriesを使用する方法は? Laravelで雄弁でサブQueriesを使用する方法は? Aug 05, 2025 am 07:53 AM

laraveLeLoquentsSubqueriesInselect、from、where、andorderbyclauses、enableing flexibledataryvalwithoutrawsql;

Laravel Cashierで定期的な支払いを処理する方法は? Laravel Cashierで定期的な支払いを処理する方法は? Aug 06, 2025 pm 01:38 PM

laravelcashierviacomposerandconfigure andbillabletrait.2.createSubscriptionPlansinsinsShashboardandnoteplanids.3.collectpaymentmethodusingsingsingsingsingsingsingStoreitviasetupintent.4.subscribeusertoaplanusingnewsubautpay()

Laravelで職人のコマンドをスケジュールする方法 Laravelで職人のコマンドをスケジュールする方法 Aug 14, 2025 pm 12:00 PM

スケジュールを定義します。スケジュールオブジェクトを使用して、App \ Console \ KernelクラスのスケジュールメソッドでArtisanコマンドスケジューリングを構成します。 2。頻度を設定します。すべての途中、毎日、1時間ごと、またはクロンの構文などのチェーンメソッドを使用して実行周波数を設定します。 3.パスパラメーター:配列または文字列を使用してパラメーターをコマンドに渡します。 4。シェルコマンドのスケジューリング:EXECメソッドを使用してシステムコマンドを実行します。 5.条件を追加:when、平日およびその他の方法を使用して、実行タイミングを制御します。 6。出力処理:sendoutputto、appendoutputto、またはemailoutputtoを録音するか、

ORA-01017:無効なユーザー名/パスワード。ログオンは拒否されました ORA-01017:無効なユーザー名/パスワード。ログオンは拒否されました Aug 16, 2025 pm 01:04 PM

ORA-01017エラーに遭遇した場合、ログインが拒否されたことを意味します。主な理由は、ユーザー名またはパスワードが間違っているか、アカウントのステータスが異常であることです。 1.最初に、ユーザー名とパスワードを手動で確認し、上限と小文字と特殊文字を二重引用符で包む必要があることに注意してください。 2。接続されたサービス名またはSIDが正しいことを確認し、TNSPINGテストを介して接続できます。 3.アカウントがロックされているか、パスワードが切れるかを確認し、DBAはステータスを確認するためにDBA_USERSビューを照会する必要があります。 4.アカウントがロックまたは有効期限が切れている場合は、Alteruserコマンドを実行してパスワードのロックを解除してリセットする必要があります。 5. oracle11g以降はデフォルトではケースに敏感であり、入力が正確であることを確認する必要があることに注意してください。 6. SYSなどの特別なユーザーにログインする場合、AssysDBAメソッドを使用してパスワードを確保する必要があります。

Laravelでソフト削除を使用する方法 Laravelでソフト削除を使用する方法 Aug 13, 2025 am 06:54 AM

softdeletesinlaravelolowyoutomark recordsasdeletededededededovovingthedatabasebysettingadeleted_attimestamp、datarecoverywheneeded.1.addthesoftdeletestraittoyourmodel:Importandusiluminate \ eLodeltene

laravelモデルと移行で酵素を操作する方法は? laravelモデルと移行で酵素を操作する方法は? Aug 16, 2025 am 10:29 AM

文字列フィールドとPHP列挙を使用することは、Laravelの列挙を処理する最良の方法です。 1.移行で文字列型フィールドを使用し、オプションでチェックインの制約を追加します。 2。文字列バッキング値(php8.1)でphp enumを定義します。 3.モデル内の$キャストを介して、フィールドを列挙インスタンスに自動的に変換します。 4。入力が合法であることを確認するために、フォーム検証でルール:: in(enum :: values())を使用します。 5。enum :: case()またはfake() - > enum()を工場およびシードファイルで使用して、テストデータを生成します。 6.列挙の - >値属性を使用するか、クエリ時に列挙インスタンスを直接比較します。すべき

LaravelでEloquentの使用方法 LaravelでEloquentの使用方法 Aug 21, 2025 pm 02:30 PM

モデルと移行の作成:phpartisanmake:modelpost-mを使用してモデルと移行ファイルを生成し、テーブル構造を定義し、phpartisannigrateを実行します。 2。基本的なCRUD操作:post :: all()、find()、create()、save()、delete()を使用して、データをクエリ、作成、更新、削除します。 3.雄弁さの使用:モデル内のbelundstoとhasmany関係を定義し、with()メソッドを使用して関連するデータをプリロードして、n 1クエリの問題を回避します。 4。雄弁クエリ:クエリコンストラクターを使用して、どこに通話をチェーンしますか

See all articles