LaravelのModelとは?
LaravelのModelは、データベースのデータを処理する役割があります。
LaravelではMVC(Model、View、Controller)という構成が使われており、その中でModelはデータベースとつながり、データの取得・登録・編集・削除などを行います。
例えば、ブログシステムの場合はBlog Modelを作成して、blogsテーブルのデータを処理できます。
LaravelではEloquent ORMを使って、Modelとデータベースをつなぐことができます。
Modelを作る
Laravelでは、Artisanコマンドを使ってModelを作ることができます。
php artisan make:model Blog
コマンドを実行すると、Blog.phpファイルが作成されます。
app/Models/Blog.php
サンプルコード
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
protected $table = 'blogs';
protected $fillable = [
'title',
'contents'
];
}
コード説明
$tableには、Modelで使用するデータベースのテーブルを設定します。
protected $table = 'blogs';
この場合、Blog Modelとblogsテーブルをつなぎます。
$fillableには、登録や編集ができる項目を設定します。
protected $fillable = [ 'title', 'contents'];
この場合、titleとcontentsのデータを登録・編集できます。
データを取得する
Modelを使って、データベースのデータを取得できます。
$blogs = Blog::all();
Blog::all()は、blogsテーブルのすべてのデータを取得します。
特定のデータを1件取得することもできます。
$blog = Blog::find(1);
この場合、IDが1のブログデータを取得します。
まとめ
LaravelのModelは、データベースとつながり、データを処理する役割があります。
簡単にすると、
Controller → Model → Database
という流れになります。
LaravelのEloquent ORMを使うことで、SQLを直接書かなくても、Modelを使ってデータベースのデータを処理できます。

