ホームページ PHPフレームワーク Laravel Laravelでデータベースを操作する方法

Laravelでデータベースを操作する方法

Apr 21, 2023 am 10:05 AM

Laravel は、コーディングの簡素化、開発効率の向上、メンテナンスの容易さなど、開発者に多くの利便性を提供する非常に優れた PHP フレームワークです。同時に、Laravel はさまざまなデータベース操作方法もサポートしているため、開発者はデータベース操作を簡単に実行できます。この記事では、Laravelフレームワークでデータベース操作を行う方法を紹介します。

ステップ 1: データベース情報の設定

まず、Laravel プロジェクトでデータベース情報を設定する必要があります。これは、データベース タイプ、ホスト アドレス、ポート、データベース名、ユーザー名、パスワードなどの情報を含む config/database.php ファイルで構成できます。

Laravel では、複数のデータベースをサポートできます。したがって、構成は config/database.php で行う必要があります。例:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

    'mysql2' => [
        'driver' => 'mysql',
        'host' => env('DB2_HOST', '127.0.0.1'),
        'port' => env('DB2_PORT', '3306'),
        'database' => env('DB2_DATABASE', 'forge'),
        'username' => env('DB2_USERNAME', 'forge'),
        'password' => env('DB2_PASSWORD', ''),
        'unix_socket' => env('DB2_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],
ログイン後にコピー

ご覧のとおり、ここでは 2 つのデータベース接続が定義されています: mysql と mysql2 は、異なるデータベースに対応します。

各データベースの関連する構成は、.env ファイルで指定できます。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password

DB_CONNECTION=mysql2
DB_HOST=127.0.0.1
DB_PORT=3306
DB2_DATABASE=database2_name
DB2_USERNAME=database2_username
DB2_PASSWORD=database2_password
ログイン後にコピー

これらの構成情報は、Laravel アプリケーションで使用されます。

ステップ 2: モデルを構築する

Laravel フレームワークでは、モデルを使用してデータベースと対話できます。モデルは、データベース内のデータを処理するために使用されるクラスです。モデルを使用すると、データベース テーブルを PHP クラスにマッピングできるため、データベースをより便利に操作できるようになります。

Artisan コマンド ライン ツールを使用して、モデルをすばやく生成します。例:

php artisan make:model User
ログイン後にコピー

これにより、app/Models ディレクトリに User という名前のモデル クラスが生成され、テーブル、主キー、タイムスタンプやその他の情報。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'user';
    protected $primaryKey = 'id';
    public $timestamps = true;
}
ログイン後にコピー

ステップ 3: データのクエリ

Laravel では、Eloquent ORM を通じてデータベース クエリを簡単に実行できます。モデルを使用すると、テーブルのクエリが簡単になります。たとえば、次の Eloquent メソッドを使用して、「User」テーブル内のすべてのレコードを取得できます:

use App\Models\User;

$users = User::all();
ログイン後にコピー

findOrFail メソッドを使用してレコードを検索する場合、このメソッドをモデル ID とともに使用できます:

$user = User::findOrFail(1);
ログイン後にコピー

クエリの一部を記録するときは、where メソッドを使用できます:

use App\Models\User;

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

また、次のような他の条件を使用してクエリすることもできます:

$user = User::where('name', 'John')->first();
ログイン後にコピー
$users = User::select('name')->distinct()->get();
ログイン後にコピー
$users = User::orderBy('name', 'desc')->take(10)->get();
ログイン後にコピー

ステップ 4: データの挿入

Laravel フレームワークにデータを挿入するのは非常に簡単です。モデルを使用して新しいレコードを作成する場合、次のコードを使用できます。

$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();
ログイン後にコピー

クラスの create メソッドを使用して、複数の新しいレコードを一度に作成することもできます。

User::create([
    'name' => 'Jane',
    'email' => 'jane@example.com',
]);
ログイン後にコピー

ステップ 5 : データの更新

モデルを介したデータの更新も非常に簡単です。次のコードを使用してレコードを更新できます:

$user = User::find(1);

$user->email = 'john.doe@example.com';

$user->save();
ログイン後にコピー

バッチでレコードを更新することもできます:

User::where('name', 'John')->update(['email' => 'john.doe@example.com']);
ログイン後にコピー

ステップ 6: データの削除

データの削除はデータの更新と似ています。 。単一のレコードを削除する場合は、次のコマンドを使用してください:

$user = User::find(1);

$user->delete();
ログイン後にコピー

複数のレコードを削除する必要がある場合は、次のコマンドを使用できます:

User::where('name', 'John')->delete();
ログイン後にコピー

削除メソッドはデータベース削除からレコードを完全に削除します。完全に削除する代わりに、論理的な削除機能を使用して別のテーブルに移動できます。

概要

Laravel ORM は、プログラマーにデータベースを操作するための強力なツールを提供します。上記の手順により、データベースのクエリ、挿入、更新、削除を簡単に実行できます。機密データは細心の注意を払って適切な行動で取り扱う必要があることに注意してください。この記事がLaravelでデータベースを操作する際の参考になれば幸いです。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravelで高度な機能を備えたRESTFUL APIを構築する方法は? Laravelで高度な機能を備えたRESTFUL APIを構築する方法は? Mar 11, 2025 pm 04:13 PM

この記事では、堅牢なLaravel Restful APIの構築をガイドします。 プロジェクトのセットアップ、リソース管理、データベースインタラクション、シリアル化、認証、承認、テスト、および重要なセキュリティベストプラクティスをカバーしています。 スケーラビリティチャレに対処します

Laravel Frameworkのインストール最新方法 Laravel Frameworkのインストール最新方法 Mar 06, 2025 pm 01:59 PM

この記事では、Composerを使用して最新のLaravelフレームワークをインストールするための包括的なガイドを提供します。 前提条件、ステップバイステップの手順、一般的なインストールの問題(PHPバージョン、拡張機能、許可)のトラブルシューティング、および最小限の詳細

Laravel-Adminメニュー管理 Laravel-Adminメニュー管理 Mar 06, 2025 pm 02:02 PM

この記事では、メニュー管理に関するLaravel-Adminユーザーをガイドします。 メニューのカスタマイズ、大規模なメニューのベストプラクティス(分類、モジュール化、検索)、およびLaravelの著者を使用したユーザーの役割と許可に基づく動的メニュー生成をカバーします

LaravelでOAUTH2認証と承認を実装する方法は? LaravelでOAUTH2認証と承認を実装する方法は? Mar 12, 2025 pm 05:56 PM

この記事では、LaravelでOAUTH 2.0認証と承認を実装しています。 League/OAuth2-Serverやプロバイダー固有のソリューションなどのパッケージを使用して、データベースのセットアップ、クライアント登録、承認サーバー構成を強調しています

Laravelのバージョンは最高です Laravelのバージョンは最高です Mar 06, 2025 pm 01:58 PM

この記事は、Laravel開発者が適切なバージョンを選択する際にガイドします。 新しいバージョンが高度な機能を提供することを認めながら、安定性とセキュリティのために最新の長期サポート(LTS)リリースを選択することの重要性を強調しています。

Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか? Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか? Mar 17, 2025 pm 02:38 PM

この記事では、Laravelでカスタム検証ルールの作成と使用について説明し、それらを定義および実装する手順を提供します。再利用性や特異性などの利点を強調し、Laravelの検証システムを拡張する方法を提供します。

クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか? クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか? Mar 14, 2025 pm 01:44 PM

この記事では、スケーラビリティ、信頼性、セキュリティに焦点を当てたクラウドネイティブ環境でLaravelを展開するためのベストプラクティスについて説明します。重要な問題には、コンテナ化、マイクロサービス、ステートレス設計、最適化戦略が含まれます。

Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか? Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか? Mar 17, 2025 pm 02:47 PM

この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

See all articles