📚
Laravel - Modelでデータベースからデータを取得する(オブジェクト思考)
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