今回は、【Laravelの機能についてまとめてみよう】第二弾です。
第二弾は….. 『Model』についてです!!
※Laravel バージョンは8をベースにしております。
目次
――――――――――――――――――――――――――――
① Modelとは
② 作成方法
③ 使用方法
④ まとめ
――――――――――――――――――――――――――――
① Model とは
Model(モデル)はデータベースとデータをやりとりするために作成します。
モデルを使うことで、LaravelのORMであるEloquentの機能を使って、データの取得や追加・更新などを行うことができます。
以下のサイトも参考にしてみてください。
↓↓※公式リファレンスを日本語訳しているサイト↓↓
https://readouble.com/laravel/8.x/ja/eloquent.html
② 作成方法
最初にModelクラスの作成からはじめましょう。
直接ファイルを作成することも出来ますが、今回はLaravelの機能『artisan』コマンドを使用して作成していきます。
project
├─ app
│ ┗Models
│ ┗Test.php (※ここにファイルが生成される)
├─ 略(config database public 等)
作成されたファイルを確認します。
【Test.php】
< ?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
use HasFactory;
}
※Artisanコンソールについての詳細は以下のサイトをご覧ください。
https://readouble.com/laravel/8.x/ja/artisan.html
③ 使用方法
次に、Laravel(Model)とDBの紐づけを行っていきましょう。
[1] Modelクラスの命名規則
・Modelクラスの名前は紐づけたいテーブルに対して単数形でかくように決められています。
今回はテーブル名がtestsを使用するので、Modelの名前をtestとします。
例)テーブル名が『users』の場合。→Modelは『user』となる。
・決められたModel名以外のテーブルを使用したい場合。
$tableプロパティを作成し、そこで定義する。
例)『samples』テーブルと紐づけたい場合
protected $table ='samples'
[2] データの登録設定
・Laravelでデータを追加するためにcreateメソッドを使用しますが、使うためにはfillableかguardedの設定が必要です。
例)登録可能にしたいカラムを全て記載します。指定されたカラム以外は登録できないようになります。
protected $fillable = [
'name',
'password',
'email',
'tell'
];
④ まとめ
このようにルールに従い、Modelを作成することでEloquentを利用してテーブルを操作することが可能です。
以上、簡単にではありますが大まかなModelについてまとめてきました。
Modelを深堀りするとまだまだまとめきれてないことが多いので
次の機会にもっと深く紹介できればと思います!