src/Controller/AdminController.php line 27
<?phpnamespace App\Controller;use App\Enum\TagCategory;use App\Repository\DeviceRepository;use App\Repository\ScheduleRepository;use App\Repository\TagRepository;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Bundle\SecurityBundle\Security;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;class AdminController extends AbstractController{public function __construct(private ScheduleRepository $scheduleRepository,private DeviceRepository $deviceRepo,private TagRepository $tagRepo,private EntityManagerInterface $entityManager,private Security $security){}#[Route(path: '/admin', name: 'app_admin_index')]public function index(): Response{$devices = $this->deviceRepo->findAll();$voidArray = [];foreach($devices as $device){foreach($device->getTags() as $tag){if($tag->getTagCategory() != TagCategory::PROVINCE)continue;if(!array_key_exists($tag->getLabel(), $voidArray))$voidArray[$tag->getLabel()] = 0;$voidArray[$tag->getLabel()]++;break;}}$schedules = $this->scheduleRepository->findBy([], ['createdAt' => 'DESC'], 5);return $this->render('admin/main.html.twig', ['totalDevices' => count($devices),'voidArray' => $voidArray,'schedules' => $schedules]);}}