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

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

WBOY
WBOYオリジナル
2023-11-04 15:03:28807ブラウズ

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