Laravel は、開発者が効率的で保守しやすい Web アプリケーションを簡単に構築できるようにする豊富なツールと機能を提供する、非常に人気のある PHP Web アプリケーション フレームワークです。重要な機能の 1 つは、データベースとの対話です。 Laravel を開発に使用する場合、データベースの変更や更新が必要になることがよくありますが、この記事では、Laravel でのデータベースの変更に関連する操作について詳しく説明します。
1. Laravel データベース移行
Laravel では、データベースのバージョン管理を簡単に行うことができるデータベース移行 (Migration) 機能を提供しています。データベースの移行を通じて、データベース テーブル構造の変更を定義し、フレームワークが提供するコマンドを通じてデータベースの新しいバージョンに迅速に移行できます。
Laravel の移行ファイルは、database/migrations ディレクトリに保存されており、Artisan コマンドを使用して移行ファイルを生成できます。 。次のコマンドを実行して、create_users_table という名前の移行ファイルを作成します。
php 職人 make:migration create_users_table
生成されたばかりのファイルを開きます移行ファイル (database/migrations ディレクトリにあります) には、up 関数と down 関数があることがわかります。 up 関数は移行操作を実行するために使用され、down 関数は移行操作を元に戻すために使用されます。
up 関数でデータベース テーブルを作成するスクリプトを作成できます。例:
Schema::create('users', function (Blueprint $table) {
$ table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table -> timestamps();
});
このスクリプトは、id、名前、電子メール、email_verified_at、パスワード、remember_token、タイムスタンプなどの 7 つのフィールドを含む users という名前のデータ テーブルを作成します。
移行スクリプトを作成した後、次のコマンドを使用して移行スクリプトを実行できます:
php 職人 移行
このとき、Laravel フレームワークは、作成したスクリプトに基づいてテーブル構造を自動的に作成しますが、該当するテーブルが既にデータベースに存在する場合、フレームワークは自動的にスキップされ、実行されません。
2. Laravel データベースの充填
データベース充填は、Laravel が提供するもう 1 つの重要な機能であり、開発、テスト、運用環境でデータベースに偽のデータを充填するのに役立ちます。たとえば、データのクエリ パフォーマンスをテストする必要がある場合、パディングを使用して大量のデータを埋めることができます。
次のように、Artisan コマンドを使用して充填ファイルを作成できます:
php Artisan make:Seeder UsersTableSeeder
作成した埋め込みスクリプトをデータベース/シード ディレクトリに置き、UsersTableSeeder に次のコードを書き込みます:
use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use IlluminateSupportStr;
class UsersTableSeeder extends Seeder
{
/** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ 'name' => Str::random(10), 'email' => Str::random(10).'@gmail.com', 'password' => Hash::make('password'), ]); }
}
このスクリプトは、 users テーブル レコードには、名前、電子メール、パスワードの 3 つのフィールドが含まれており、名前と電子メールのフィールドの値はランダムに生成されます。
次のコマンドで充填スクリプトを実行できます:
php 職人 db:seed
この時点で、Laravel フレームワークは、作成した入力スクリプトを自動的に呼び出し、データを users テーブルに挿入します。
3. Laravel データベース操作
データベースの移行とデータ充填を使用してデータベースを変更することに加えて、Laravel が提供する DB クラスを使用してデータ操作を実行することもできます。
DB::table('users')->insert([
'name' => 'John Doe', 'email' => 'johndoe@example.com', 'password' => Hash::make('password'),
]);
このスクリプトは、名前、電子メール、パスワードの 3 つのフィールドを含むレコードをユーザー テーブルに挿入します。名前と電子メール フィールドの値は指定されています。
DB::table('users')
->where('id', 1) ->update(['votes' => 1]);
このステートメントは、ID 1 のレコードの投票フィールドを更新します。値は 1 に設定されます。
DB::table('users')->where('votes', '<', 100)->delete( );
このステートメントは、投票フィールド値が 100 未満のすべてのレコードを削除します。
4. 結論
この記事では、Laravel がデータベースを変更する方法を紹介し、データベース移行、データベース充填、データベース操作の 3 つの方法を紹介します。 Laravel でのデータベース処理のシンプルさと効率性により、Laravel は人気のある Web フレームワークの 1 つとなっており、開発者がこれらの関連機能を学習することが非常に必要です。
以上がlaravelデータベースを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。