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

1.シーダーファイルを作成します
Laravelは、シーダークラスを使用してデータを挿入します。職人を使用して作成できます。
PHP Artisan Make:Seeder UserSeeder
これによりdatabase/seeders/UserSeeder.php
にファイルが作成されます。

run()
メソッド内では、雄弁なモデルインスタンスまたはdbクエリを追加できます。
<?php 名前空間データベース\ Seeders; Illuminate \ database \ Seederを使用します。 app \ models \ userを使用してください。 クラスユーザーシーダーはシーダーを拡張します { パブリック関数run() { user :: factory() - > create([ 'name' => 'John Doe'、 「電子メール」=> 'john@example.com'、 ]); //または工場を使用して複数のユーザーを作成します user :: factory() - > count(10) - > create(); } }
?
User::factory()
を使用している場合は、対応するモデルと工場があることを確認してください。
2。データベーシーズからシーダーを呼び出します
メインシーダーはDatabaseSeeder
( database/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( 'local')){ //ローカルのシードテストデータのみ user :: factory() - > count(50) - > create(); } }
外部キーを処理する:テーブルに関係がある場合は、最初に親のテーブルを必ず表示してください(たとえば、投稿の前にユーザー)。
基本的に、Laravelのシーダーシステムは、初期データを完全に制御できます。クラスを作成し、順番に呼び出し、必要に応じてdb:seed
を使用します。複雑ではありませんが、工場と組み合わせると強力です。
以上がLaravelでデータベースをシードする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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

laraveLeLoquentsSubqueriesInselect、from、where、andorderbyclauses、enableing flexibledataryvalwithoutrawsql;

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

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

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

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

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

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