【保存版】LaravelのEloquent入門:DB操作を超簡単に!

コンニチハ

パンに塗り塗りジャム太郎です!

今回のテーマは「LaravelのEloquent入門」についてです。

想定読者:

  • Laravel学習中の初心者
  • PHP+DBの基礎を学びたい人
  • ORMってなに?という人

はじめに:Eloquentって何?

  • ORMのざっくり説明
  • SQLを書かずにPHPだけでDB操作ができる
  • Laravelで超重要な機能 ⇒ 実案件でも使う

開発準備

  • Laravelプロジェクト作成済みを前提
  • .envでDB接続設定
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sample_db
DB_USERNAME=root
DB_PASSWORD=

①マイグレーションでテーブル作成

  • Artisanコマンドの紹介
php artisan make:migration create_posts_table
  • マイグレーションファイルの例
public function up(): void
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('body');
        $table->timestamps();
    });
}
  • 実行
php artisan migrate

②モデル作成

  • Artisanコマンド
php artisan make:model Post
  • モデルの役割説明
  • 必要ならfillableプロパティの紹介
class Post extends Model
{
    protected $fillable = ['title', 'body'];
}

③データ操作(CRUD)

作成(Create)

Post::create([
    'title' => '初めての投稿',
    'body' => 'Laravel最高!',
]);

取得(Read)

$posts = Post::all();

更新(Update)

$post = Post::find(1);
$post->update(['title' => 'タイトル更新']);

削除(Delete)

Post::destroy(1);

④tinkerを使ってみよう(超便利!)

  • 起動
php artisan tinker
  • 実際の操作例
Post::create(['title' => 'Tinker投稿', 'body' => 'Tinkerで作成']);
Post::all();

おわりに

  • EloquentをマスターするとLaravelがもっと楽しくなる
  • 次のステップ ⇒ リレーションやスコープの使い方も学ぼう

では、また次の記事で〜

投稿者 パンに塗り塗りジャム太郎

コンニチハ! Z世代のパンに塗り塗りジャム太郎です。 Web系自社開発企業でポンコツエンジニアをしております。 このブログでは最低1人にでもタメになってくれたらいいなぁ〜ぐらいの内容を発信しています。 お手柔らかによろしくお願いいたします。