entityManager->getRepository(self::ENTITY)->findAll(); $acquiredItems = array_filter($items, fn (Gpu $item) => $item->isAcquired()); $newItems = array_filter($items, fn ($item) => !$item->isAcquired()); $filter = fn (array $itemTypes) => array_filter($acquiredItems, fn (Gpu $item) => in_array($item->getCardKey(), $itemTypes)); $cardTypes = SlotKey::getGroups(); $pcieCardTypes = $cardTypes['PCI Express']; $agpCardTypes = $cardTypes['AGP']; $pciCardTypes = array_merge($cardTypes['PCI 32-bit'], $cardTypes['PCI 64-bit']); $isaCardTypes = $cardTypes['ISA']; return $this->render('gpu/index.html.twig', [ 'gpus' => [ 'not_acquired' => $newItems, 'acquired' => $acquiredItems, 'pcie' => $filter($pcieCardTypes), 'agp' => $filter($agpCardTypes), 'pci' => $filter($pciCardTypes), 'isa' => $filter($isaCardTypes), ] ]); } #[Route('/new', name: 'gpu_new', methods: ['GET', 'POST'])] public function new(Request $request): Response { return $this->itemCreate($request, 'gpu'); } #[Route('/{id}', name: 'gpu_show', methods: ['GET'])] public function show(Gpu $gpu): Response { return $this->itemView($gpu, 'gpu'); } #[Route('/{id}/edit', name: 'gpu_edit', methods: ['GET', 'POST'])] public function edit(Request $request, Gpu $gpu): Response { return $this->itemUpdate($request, $gpu, 'gpu'); } #[Route('/{id}', name: 'gpu_delete', methods: ['POST'])] public function delete(Request $request, Gpu $gpu): Response { return $this->deleteCSRF($request, $gpu); } }