Eloquentを使用してLaravelでデータベースモデルを作成する方法

提供:Dev Guides
移動先:案内検索

Eloquent は、Laravelフレームワークにデフォルトで含まれているオブジェクトリレーショナルマッパー(ORM)です。 これにより、データベーステーブルとの対話タスクが容易になり、データベースレコードを挿入、更新、および削除するためのオブジェクト指向のアプローチが提供されると同時に、SQLクエリを実行するための合理化されたインターフェイスが提供されます。

Eloquentは、データベースモデルを使用して、サポートされているデータベースのテーブルと関係を表します。 データベーステーブルの名前は、通常、モデル名から複数形で推測されます。 たとえば、Linkという名前のモデルは、デフォルトのテーブル名としてlinksを使用します。

artisan make:modelコマンドラインヘルパーを使用して、アプリケーションの新しいモデルを生成できます。 linksテーブルの新しいEloquentモデルを作成するには、次のコマンドを実行します。

docker-compose exec app php artisan make:model Link
OutputModel created successfully.

これにより、ベアボーンモデルクラスを含む新しいファイルが生成されます。 このクラスには明らかなプロパティやメソッドはありませんが、 facades を介してモデルを操作すると、データベーステーブル構造を識別して完全に機能するオブジェクトとして表すことができる基盤となるEloquentデータベースクラスにアクセスできます。

参考までに、これは自動生成されたモデルクラスです。

app / Models / Link.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Link extends Model
{
    use HasFactory;
}

このシリーズの目的上、このファイルに変更を加える必要はありません。 将来的にアプリケーションを拡張する場合は、このモデルを使用して、データベース操作を含むLinkクラスのカスタムメソッドを作成できます。 さらに、Linkモデルと他のモデルの間に関係を作成する場合は、少なくとも1つの側面に関係を表すメソッドを含める必要があります。 Eloquentの関係の詳細については、公式ドキュメントを参照してください。

このシリーズの次のパートでは、このモデルを使用してデータベース上のリンクを選択、挿入、および削除するArtisanコマンドを作成します。