Role.php
———
id, name, status, info
User.php
———
id, name, email, username, mobile, role_id
role() =>
return $this->belongsTo(Role::class, ‘role_id’, ‘id’);
AppServiceProvider.php:
————————–
boot() =>
JsonResource::withoutWrapping();
Make Resource for Both User and Role
——————————————
php artisan make:resource UserResource
php artisan make:resource RoleResource
RoleResource.php
———————-
public function toArray(Request $request): array
{
return [
‘id’ => $this->id,
‘name’ => $this->name,
‘status’ => $this->status,
‘info’ => $this->info,
];
}
UserResource.php
———————–
public function toArray(Request $request): array
{
return [
‘id’ => $this->id,
‘name’ => $this->id,
‘gender’ => $this->gender,
‘username’ => $this->username,
// ‘role_name’ => $this->role->name
‘role’ => new RoleResource(($this->whenLoaded(‘role’)))
];
}
UserController.php
———————–
public function index()
{
$roles = Role::orderBy(‘id’, ‘asc’)->get();
$batches = Batch::orderBy(‘id’, ‘desc’)->get();
$users = UserResource::collection(User::with(‘role’)->get());
return Inertia::render(‘User/UserList’, [‘roles’ => $roles, ‘batches’ => $batches, ‘users’ => $users]);
}