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

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

PHPz
PHPzオリジナル
2023-04-21 10:05:461075ブラウズ

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 までご連絡ください。