ホームページ PHPフレームワーク Laravel Laravelを使用してデータの保存と読み取り機能を実装する方法

Laravelを使用してデータの保存と読み取り機能を実装する方法

Nov 04, 2023 pm 03:03 PM
laravel データストレージ データ読み取り

Laravelを使用してデータの保存と読み取り機能を実装する方法

Laravel を使用してデータ ストレージおよび読み取り関数を実装する方法

はじめに:
Laravel は、シンプルで洗練された構文と強力な機能を提供する人気の PHP フレームワークです。開発者が強力な Web アプリケーションを簡単に構築できるようにします。その中でも、データの保存と読み取りは、すべての Web アプリケーションに必須の基本機能です。この記事では、Laravelを使ってデータの保存や読み込み機能を実現する方法と、具体的なコード例を詳しく紹介しますので、皆様の学習や開発の一助になれば幸いです。

1. データ ストレージ

  1. データベース構成:
    まず、データベースを構成する必要があります。 Laravel では、プロジェクトのルート ディレクトリにある .env ファイルにデータベースの種類、ホスト名、ユーザー名、パスワードなどのデータベース関連の設定項目を設定できます。具体的な構成は次のとおりです。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
ログイン後にコピー

このうち、DB_CONNECTION はデータベースの種類を表し、DB_HOST はデータベースのホスト名を表し、DB_PORT はデータベースのポート番号を表します。 DB_DATABASE はデータベースの名前を表します。 DB_USERNAME はデータベースのユーザー名を表します。 DB_PASSWORDデータベースのパスワードを表します。実際の状況に応じて、対応する変更を加えてください。

  1. 移行ファイルの作成:
    Laravel では、移行ファイルを使用してデータベースの構造変更を管理します。コマンド ラインから移行ファイルを生成できます:

    php artisan make:migration create_users_table
    ログイン後にコピー

    上記を実行します。 コマンドを実行すると、create_users_table という名前の移行ファイルが database/migrations ディレクトリに生成されます。このファイルでは、Schema クラスを使用してテーブルを作成し、テーブル内の列を定義できます。具体的なコード例は次のとおりです。

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('users');
    }
}
ログイン後にコピー

上記のコードでは、テーブルの作成には up メソッドが使用され、テーブルの作成には down## メソッドが使用されます。 # メソッドを使用してテーブルを削除します。特定のテーブル構造は、実際のニーズに応じて変更できます。

  1. 移行の実行:

    移行ファイルを作成した後、次のコマンドを使用して移行を実行し、テーブル構造をデータベースに同期できます:

    php artisan migrate
    ログイン後にコピー

    上記を実行します。 コマンドを実行すると、Laravel は

    database/migrations ディレクトリ内のすべての移行ファイルを自動的に読み取り、実行します。

  2. モデル定義:

    Laravel では、モデルはデータベース テーブルと対話するために使用されます。モデル ファイルはコマンド ラインで生成できます:

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

    上記のコマンドを実行すると、

    User という名前のモデル ファイルが app ディレクトリに生成されます。このファイルでは、データの保存と読み取りを行うために、データベース テーブルとのマッピング関係、モデルの属性およびメソッドを定義できます。具体的なコード例は次のとおりです。

  3. namespace App;
    
    use IlluminateDatabaseEloquentModel;
    
    class User extends Model
    {
        protected $table = 'users';
    
        protected $fillable = ['name', 'email', 'password'];
    
        protected $hidden = ['password'];
    
        public function posts()
        {
            return $this->hasMany(Post::class);
        }
    }
    ログイン後にコピー
上記のコードでは、

$table 属性はモデルに対応するデータベース テーブル名を表し、 $fillable 属性はバッチで値を割り当てることができるフィールドを表し、$hidden 属性は非表示フィールドを表し、posts メソッドは との関連付けを定義します。ポストモデル。

    データ ストレージ:
  1. モデルを作成した後、モデル クラスを使用してデータを保存できます。たとえば、ユーザー データをデータベースに追加するには、次のコードを使用できます。
  2. $user = new User;
    $user->name = 'John';
    $user->email = 'john@example.com';
    $user->password = bcrypt('password');
    $user->save();
    ログイン後にコピー
上記のコードでは、最初に

User オブジェクトが作成され、次に属性の割り当てを通じて設定し、オブジェクトのプロパティを設定し、最後に save メソッドを呼び出してデータをデータベースに保存します。

2. データの読み取り

    クエリ コンストラクター:
  1. Laravel は、データベース クエリ ステートメントを簡単に構築できる強力なクエリ コンストラクターを提供します。クエリ ビルダーを使用して、複雑な条件付きクエリ、並べ替え、ページング、その他の機能を実装します。具体的なコード例は次のとおりです。
  2. $users = User::where('age', '>', 18)
           ->orderBy('created_at', 'desc')
           ->paginate(10);
    ログイン後にコピー
上記のコードでは、クエリ条件は

where メソッドで設定でき、orderBy メソッドで設定できます。ソートルール、paginate メソッドによりページングを実現できますデフォルトでは各ページに10件のデータが表示されます。

    元のクエリ:
  1. クエリ ビルダーの使用に加えて、元のクエリ ステートメントを使用してデータベースを操作することもできます。生のクエリを使用すると、データベースをより柔軟に運用できますが、セキュリティに注意する必要があります。具体的なコード例は次のとおりです。
  2. $users = DB::select('select * from users where age > ?', [18]);
    ログイン後にコピー
上記のコードでは、

select メソッドを使用して元のクエリを実行し、パラメータ バインディングを通じてクエリ条件を設定できます。 。

    モデル相関クエリ:
  1. Laravel では、モデル相関クエリを使用して、より複雑なデータ読み取り操作を実装することもできます。たとえば、ユーザーが公開したすべての記事を取得するには、次のコードを使用できます。
  2. $user = User::find(1);
    $posts = $user->posts;
    ログイン後にコピー
    上記のコードでは、

    find メソッドを使用して、対応するモデルを検索します。主キーに基づいてオブジェクトを取得し、モデル オブジェクトのプロパティを通じて関連オブジェクトにアクセスします。

    結論:

    この記事では、Laravel を使用してデータの保存と読み取り機能を実装する方法を紹介し、具体的なコード例を示します。実際の開発では、対応するメソッドを柔軟に使用して、必要に応じてデータの保存と読み取りを完了できます。この記事が皆様のお役に立ち、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 - アーティザンコマンド Laravel - アーティザンコマンド Aug 27, 2024 am 10:51 AM

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel - ページネーションのカスタマイズ Laravel - ページネーションのカスタマイズ Aug 27, 2024 am 10:51 AM

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド

Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Apr 01, 2025 pm 02:45 PM

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

Laravelスケジュールタスクは実行されません:スケジュール:実行コマンドの後にタスクが実行されていない場合はどうすればよいですか? Laravelスケジュールタスクは実行されません:スケジュール:実行コマンドの後にタスクが実行されていない場合はどうすればよいですか? Mar 31, 2025 pm 11:24 PM

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Mar 31, 2025 pm 11:48 PM

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? Apr 01, 2025 am 07:09 AM

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー Laravel - ダンプサーバー Aug 27, 2024 am 10:51 AM

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel Redis接続共有:選択方法が他の接続に影響するのはなぜですか? Laravel Redis接続共有:選択方法が他の接続に影響するのはなぜですか? Apr 01, 2025 am 07:45 AM

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

See all articles