PermissionGroupResource.php 888 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Http\Resources\API;
  3. use App\Models\Menu;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\Resources\Json\JsonResource;
  6. use Illuminate\Support\Collection;
  7. class PermissionGroupResource extends JsonResource
  8. {
  9. /**
  10. * Transform the resource into an array.
  11. *
  12. * @return array<string, mixed>
  13. */
  14. public function toArray(Request $request): array
  15. {
  16. return [
  17. 'id' => $this->id,
  18. 'name' => $this->name,
  19. 'permissions' => PermissionResource::collection($this->MeansPermission($this->permissions)),
  20. ];
  21. }
  22. private function MeansPermission(Collection $permissions){
  23. $menus=Menu::all()->pluck('permission');
  24. foreach ($permissions as $permission){
  25. $permission->is_menus=$menus->contains($permission->name)?true:false;
  26. }
  27. return $permissions;
  28. }
  29. }