📚

Laravel - Modelでデータベースからデータを取得する(オブジェクト思考)

2024/08/14に公開

Laravelでデータベースからデータを取得するとき、Controllerにコードを書くこともできるが、Controller内の情報を少なくするために、Modelに書くこともできる。

1. Modelへの記述

User.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\traits\DeleteFlagTrait;

class User extends Model
{
    use HasFactory;

    protected $table = 'users';

    public function getUser(){
        return $this->all();
    }
}

2. Controllerの記述

UserController.php
<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;


class HelloController extends Controller
{
    private $user;
    public function __construct(User $user)
    {
        $this->office = $user;
    }

    public function getAllUser(){
        $all_user = $this->user->getUser();
    }

}

これでModelを通してデータベースからデータを取得し、それをControllerで受け取ることができる。

Discussion