カテゴリ: Laravel 更新日: 2025/10/23

Laravelでモデルを作成する方法をやさしく解説!php artisan make:model入門

Laravelでモデルを作成する方法(`php artisan make:model`)
Laravelでモデルを作成する方法(`php artisan make:model`)

先生と生徒の会話形式で理解しよう

生徒

「先生、Laravelでデータベースを操作するにはモデルが必要って聞いたんですが、どうやって作るんですか?」

先生

「いい質問ですね。Laravelではコマンドを使って簡単にモデルを作ることができます。そのコマンドがphp artisan make:modelです。」

生徒

「コマンドって難しそうですが、初心者でも使えますか?」

先生

「心配いりません。数文字入力するだけで自動的にファイルが作られるので、誰でも簡単にモデルを作成できますよ。」

生徒

「それなら安心です。実際にどうやって作るのか教えてください!」

先生

「では、Laravelでモデルを作成する基本の流れを説明していきましょう。」

1. モデルとは?

1. モデルとは?
1. モデルとは?

Laravelのモデル(Model)とは、データベースのテーブルとやり取りをする役割を持つクラスのことです。例えば、ユーザーを管理するusersテーブルがあれば、そのテーブルに対応するモデルがUserクラスになります。モデルを通じて、データの取得・保存・更新・削除などを行います。

簡単に言うと「モデルはデータベースとアプリケーションをつなぐ窓口」です。

2. モデルを作成する基本コマンド

2. モデルを作成する基本コマンド
2. モデルを作成する基本コマンド

Laravelでモデルを作成するには、ターミナル(黒い画面の操作ツール)で次のコマンドを入力します。


php artisan make:model User

このコマンドを実行すると、app/Models/User.phpというファイルが自動で作成されます。Userというモデルができたことで、usersテーブルと簡単に連携できるようになります。

3. モデルの中身を確認してみよう

3. モデルの中身を確認してみよう
3. モデルの中身を確認してみよう

作成されたモデルファイルを開いてみると、次のような内容が記述されています。


<?php

namespace App\Models;

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

class User extends Model
{
    use HasFactory;
}

ここで重要なのはextends Modelの部分です。これによって、UserクラスはEloquent ORMの機能を引き継いでいます。つまり、このモデルを使えばSQLを直接書かなくてもデータベースを操作できるのです。

4. モデル名とテーブル名の関係

4. モデル名とテーブル名の関係
4. モデル名とテーブル名の関係

Laravelでは、モデル名とテーブル名が自動的に対応するようになっています。

  • Userモデル → usersテーブル
  • Postモデル → postsテーブル
  • Productモデル → productsテーブル

このように、モデルは単数形、テーブルは複数形が基本です。もちろん、もし違う名前で使いたい場合は、モデルの中でテーブル名を指定することもできます。

5. モデル作成時にオプションを使う

5. モデル作成時にオプションを使う
5. モデル作成時にオプションを使う

php artisan make:modelには便利なオプションがあります。よく使うのは次の2つです。

(1)マイグレーションファイルも同時に作成する


php artisan make:model Post -m

-mをつけると、モデルと一緒にマイグレーション(テーブルを作成する設計図ファイル)も作成されます。

(2)コントローラやファクトリも同時に作成する


php artisan make:model Product -mc

-mcをつけると、モデルとコントローラ、さらにマイグレーションもまとめて作成できます。これにより、開発の準備が一気に進められます。

6. 作成したモデルを使ってみよう

6. 作成したモデルを使ってみよう
6. 作成したモデルを使ってみよう

モデルを作成したら、実際に使ってみましょう。例えば、Userモデルを使ってユーザーを新しく登録するコードは次のようになります。


$user = new User();
$user->name = "佐藤花子";
$user->email = "hanako@example.com";
$user->password = bcrypt("password123");
$user->save();

このコードを実行すると、データベースのusersテーブルに新しいデータが追加されます。SQLを一切書かなくても登録ができるのがEloquent ORMの強みです。

7. artisanコマンドを使うメリット

7. artisanコマンドを使うメリット
7. artisanコマンドを使うメリット

php artisan make:modelを使うメリットはたくさんあります。

  • 自動でファイルを作成してくれる → 手作業のミスを防げる
  • 決まった場所に保存される → ファイルの整理が簡単
  • オプションで関連ファイルも一緒に作れる → 作業効率が上がる
  • 初心者でも迷わず使える → 入力するのはたった1行のコマンドだけ

このように、artisanコマンドはLaravel開発に欠かせない便利な道具です。

関連記事:
カテゴリの一覧へ
新着記事
New1
Laravel
Laravelの認証状態をチェックする方法を完全解説!authとAuth::check()を初心者向けにやさしく説明
New2
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New3
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New4
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
Laravelのルートキャッシュ機能を活用してパフォーマンス改善!初心者でもわかる完全ガイド
No.7
Java&Spring記事人気No7
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.8
Java&Spring記事人気No8
Laravel
LaravelでルートをBladeテンプレートに記述する方法(route関数)