Laravelのモデルとは?分かりやすく解説【Laravel超入門講座】

Laravel入門講座

今回は、Laravelの「モデル」とは何か、分かりやすく説明します。

一言でいうと、モデルはLaravelとデータベースをつないでくれるもの。

ただこれだけでは、イマイチよく分からないですよね。

Laravelのモデルの役割と作り方をとことん分かりやすく解説していきます!

Laravelのモデルを分かりやすく解説【Laravel超入門講座】

たとえば、Laravelに「お問い合わせ」機能を付けるには、情報を入れるためのデータベースが必要になります。

Laravelの中にデータベースを入れてしまうと、管理が大変。

そこで、データベースは外部のデータベース管理システムに入れておくようにします。

ただこうすると、システム本体とデータベースをつなぐものが必要になってくる。

Laravelでは、「モデル」がこの役割を果たします。

モデルは、言ってみればLaravelとデータベースの仲介人といえます。

なおモデルは、フォームや機能ごとに作成します。

お問い合わせフォームから投稿された情報をいれるには、【inquiry】モデルを作ります。

じゅんこ
じゅんこ

もちろん、Inquiryという名前でなくても大丈夫!

モデルの名前は、自分で好きに設定できます。

モデルはクラスの一種

ここで少し補足。

モデルは、クラスの仕組みを使っており、クラスの一種ともいえます。

前回クラスについて解説しましたが、クラスとは、設計図のこと。

最初に設計図を作り、これに従って、実際のデータが作成されます。

今回の例でいえば、最初に【inquiry】モデルに設計図を入れ、これに従って、実際の「inquiry」(お問い合わせ)をひとつずつ作っていきます。

じゅんこ
じゅんこ

このあたり、ちょっとわかりにくいですよね。

前回の記事で「クラス」について分かりやすく解説しているので、良かったら、こちらもセットでお読みください。

実際のモデルの作り方

以上がモデルの概念の説明です。

ここからは例を使って、実際の作り方をお伝えしていきますね。

たとえば、こんなお問い合わせフォームを設置するとします。

まずは、どんな項目を入れるか考えてみましょう。

お問い合わせフォームを通じて、ユーザーが、下記3つの情報を入力できるようにします。

  1. 件名:title
  2. 本文:body
  3. メールアドレス: email

モデル作成手順① モデルファイル作成

このようなモデルを作るには、まず、Laravelに次のコマンドを入れます。

すると、app/Models内にInquiry.phpファイルが作成されます。

これが、Inquiryモデルの設定ファイル。

モデル作成手順② マイグレーションファイル設定

さらに、database内に、【本日の日付_create_inquiries_table.php】ファイルができています。

これは、Inquiryモデルの項目を設定するファイル。

次のように、inquiryモデル必要な項目を入れておきます。

じゅんこ
じゅんこ

idやcreated_at(作成日)、updated_at(更新日)といった項目は、通常、フォームに入れません。自動で入力されていきます。

モデル作成手順③ データ移行実行

このあと、データベースに情報を移行するために、マイグレートと言う命令を実行します。

これで完了。

データベースを見てみると、inquiriesテーブルが作成されているはず。

このあとは、【コントローラー】にデータベースにデータを入れる処理を書いていきます。

また、HTMLを使ってinquiryフォームも作ります。

じゅんこ
じゅんこ

このあたりの処理は、今回は割愛しますね。

また別の記事で書いていこうと思います。

モデルはLaravelとデータベースの連携係

モデルについてまとめると、押さえておいてもらいたい点は、下記のとおり。

  • モデルはシステムとデータベースを結ぶ役割を果たす
  • 各モデル内の項目は、マイグレーションファイルで設定
  • マイグレートを実行して、データベースに情報を伝達する

なお、新しくアプリを作る時は、最初にしっかりと必要なモデルと項目を考えておくことが大事。

あとから「やっぱりモデルを追加しよう」「項目を変えよう」というのも可能ですが、結構メンドウです(←経験談><)

じゅんこ
じゅんこ

モデルについて、何となくお分かりいただけたでしょうか?

引き続き、Laravelの基本を解説していきますね。

Laravel入門講座

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました