ホームページ > PHPフレームワーク > Laravel > laravel DBクラスの使い方

laravel DBクラスの使い方

王林
リリース: 2023-05-26 14:11:37
オリジナル
1031 人が閲覧しました

Laravel は、その洗練された構文、便利な開発、効率的なパフォーマンスにより開発者に好まれている人気のある PHP Web フレームワークです。 Laravel開発ではデータベース操作が特に重要です。 Laravelにはデータベースを操作するためのDBクラスが用意されており、この記事ではLaravel DBクラスの使い方を詳しく紹介します。

  1. DB クラスの基本的な使い方

Laravel 開発では、DB クラスを通じて簡単にデータベース操作を行うことができます。 DB クラスを使用する前に、コントローラーに名前空間を導入する必要があります。

use IlluminateSupportFacadesDB;
ログイン後にコピー

DB クラスを通じて、クエリ、挿入、更新、削除などの操作を実行できます。以下はデータベース クエリの例です。

$users = DB::table('users')->get();
ログイン後にコピー

上記の例は、users テーブルからすべてのユーザーのレコードを取得することです。単一のレコードを取得したい場合は、次のコードを使用できます。

$user = DB::table('users')->where('name', 'John')->first();
ログイン後にコピー

上記のコードは、users テーブルから John という名前の最初のレコードを取得します。

  1. DB クラスのクエリ コンストラクター

DB クラスのキーはクエリ コンストラクターです。クエリ ビルダーはチェーン メソッドを通じてクエリを構築でき、非常に柔軟で便利です。以下に例を示します:

a. where 条件クエリ

$users = DB::table('users')->where('name', '=', 'John')->get();
ログイン後にコピー

上の例は、users テーブルから名前が「John」に等しいレコードをクエリします。条件タイプは、「>」、「<」、「>=」、「<=」などの 2 番目のパラメータを通じて指定できます。

b. orWhere 条件クエリ

$users = DB::table('users')->where('name', '=', 'John')->orWhere('name', '=', 'Mary')->get();
ログイン後にコピー

上の例は、名前が「John」と等しいか、「name」が「Mary」と等しいレコードを users テーブルからクエリします。

c. 複数の Where 条件クエリ

$users = DB::table('users')->where([
    ['status', '=', '1'],
    ['name', '<>', 'John']
])->get();
ログイン後にコピー

上の例は、ステータスが 1 で名前が John に等しくないレコードを users テーブルからクエリします。

d. whereBetween 条件クエリ

$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
ログイン後にコピー

上の例は、users テーブルから 1 ~ 100 の投票を持つレコードをクエリします。

e. whereIn 条件付きクエリ

$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
ログイン後にコピー

上の例は、users テーブルから ID 1、2、および 3 のレコードをクエリすることです。

f. orderBysortQuery

$users = DB::table('users')->orderBy('name', 'desc')->get();
ログイン後にコピー

上の例は、users テーブル内のレコードを名前の逆順にクエリすることです。

  1. DB クラスの挿入、更新、削除操作

Laravel DB クラスは、クエリ操作だけでなく、挿入、更新、削除操作もサポートします。以下に例を示します:

a. データ挿入

DB::table('users')->insert([
    'email' => 'john@example.com',
    'name' => 'John Doe'
]);
ログイン後にコピー

上の例では、電子メール アドレス john@example.com と名前 John Doe のレコードを users テーブルに挿入します。

b. データ更新

DB::table('users')->where('id', 1)->update(['votes' => 1]);
ログイン後にコピー

上の例では、ID 1 のユーザーの投票数を 1 に更新します。

c. データの削除

DB::table('users')->where('votes', '<', 100)->delete();
ログイン後にコピー

上の例では、投票数が 100 未満のすべてのユーザーを削除します。

  1. DBクラスのトランザクション操作

データ操作では、データ挿入時のエラーなどの事故が発生しやすいです。現時点では、データの整合性を確保するためにトランザクションをロールバックする必要があります。 Laravel DB クラスはトランザクション操作をサポートします。以下に例を示します。

DB::transaction(function () {
    DB::table('users')->update(['votes' => 1]);
    DB::table('posts')->delete();
});
ログイン後にコピー

上記の例は、users テーブル内のすべてのユーザーの投票数を 1 に更新し、posts テーブル内のすべてのレコードを削除する単純なトランザクションです。トランザクション中にエラーが発生した場合、エラーは自動的にロールバックされ、データの整合性が維持されます。

  1. DB クラスの接続とテーブル名

ほとんどの場合、Laravel DB クラスはデフォルトのデータベースとテーブルに自動的に接続しますが、場合によっては、接続とテーブル名を手動で指定します。以下に例を示します。

$users = DB::connection('connection-1')->table('users')->get();
ログイン後にコピー

上の例では、最初の接続で users テーブル内のすべてのデータが表示されます。 config/database.php ファイルで複数の接続情報を構成できます。

  1. 結論

Laravel DB クラスを通じて、データベース操作を簡単に実行できます。単純なデータクエリから複雑なトランザクション操作まで、Laravel DB クラスは対応するメソッドと構文を提供します。実際の開発では、クエリビルダー、トランザクション、接続を必要に応じて組み合わせて使用​​することで、柔軟かつ効率的なデータ操作を実現できます。

以上がlaravel DBクラスの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート