ホームページ  >  記事  >  PHPフレームワーク  >  laravelデータベースを変更する

laravelデータベースを変更する

PHPz
PHPzオリジナル
2023-05-26 16:18:38724ブラウズ

Laravel は、開発者が効率的で保守しやすい Web アプリケーションを簡単に構築できるようにする豊富なツールと機能を提供する、非常に人気のある PHP Web アプリケーション フレームワークです。重要な機能の 1 つは、データベースとの対話です。 Laravel を開発に使用する場合、データベースの変更や更新が必要になることがよくありますが、この記事では、Laravel でのデータベースの変更に関連する操作について詳しく説明します。

1. Laravel データベース移行

Laravel では、データベースのバージョン管理を簡単に行うことができるデータベース移行 (Migration) 機能を提供しています。データベースの移行を通じて、データベース テーブル構造の変更を定義し、フレームワークが提供するコマンドを通じてデータベースの新しいバージョンに迅速に移行できます。

  1. データベース移行ファイルの作成

Laravel の移行ファイルは、database/migrations ディレクトリに保存されており、Artisan コマンドを使用して移行ファイルを生成できます。 。次のコマンドを実行して、create_users_table という名前の移行ファイルを作成します。

php 職人 make:migration create_users_table

  1. 移行スクリプトを作成します

生成されたばかりのファイルを開きます移行ファイル (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 という名前のデータ テーブルを作成します。

  1. 移行スクリプトを実行する

移行スクリプトを作成した後、次のコマンドを使用して移行スクリプトを実行できます:

php 職人 移行

このとき、Laravel フレームワークは、作成したスクリプトに基づいてテーブル構造を自動的に作成しますが、該当するテーブルが既にデータベースに存在する場合、フレームワークは自動的にスキップされ、実行されません。

2. Laravel データベースの充填

データベース充填は、Laravel が提供するもう 1 つの重要な機能であり、開発、テスト、運用環境でデータベースに偽のデータを充填するのに役立ちます。たとえば、データのクエリ パフォーマンスをテストする必要がある場合、パディングを使用して大量のデータを埋めることができます。

  1. データ充填ファイルの作成

次のように、Artisan コマンドを使用して充填ファイルを作成できます:

php Artisan make:Seeder UsersTableSeeder

  1. 埋め込みスクリプトを作成します

作成した埋め込みスクリプトをデータベース/シード ディレクトリに置き、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 つのフィールドが含まれており、名前と電子メールのフィールドの値はランダムに生成されます。

  1. 充填スクリプトの実行

次のコマンドで充填スクリプトを実行できます:

php 職人 db:seed

この時点で、Laravel フレームワークは、作成した入力スクリプトを自動的に呼び出し、データを users テーブルに挿入します。

3. Laravel データベース操作

データベースの移行とデータ充填を使用してデータベースを変更することに加えて、Laravel が提供する DB クラスを使用してデータ操作を実行することもできます。

  1. データの挿入

DB::table('users')->insert([

'name' => 'John Doe',
'email' => 'johndoe@example.com',
'password' => Hash::make('password'),

]);

このスクリプトは、名前、電子メール、パスワードの 3 つのフィールドを含むレコードをユーザー テーブルに挿入します。名前と電子メール フィールドの値は指定されています。

  1. データの更新

DB::table('users')

->where('id', 1)
->update(['votes' => 1]);

このステートメントは、ID 1 のレコードの投票フィールドを更新します。値は 1 に設定されます。

  1. データの削除

DB::table('users')->where('votes', '72ab85c16fd8ed6098b5cdd7c2ff8778delete( );

このステートメントは、投票フィールド値が 100 未満のすべてのレコードを削除します。

4. 結論

この記事では、Laravel がデータベースを変更する方法を紹介し、データベース移行、データベース充填、データベース操作の 3 つの方法を紹介します。 Laravel でのデータベース処理のシンプルさと効率性により、Laravel は人気のある Web フレームワークの 1 つとなっており、開発者がこれらの関連機能を学習することが非常に必要です。

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

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