Get Category by Repository Interface

Posted on

Get category item by ID. Use CategoryRepositoryInterface and NoSuchEntityException.

<?php
declare(strict_types=1);
namespace Vendor\Module\Model;

use Magento\Catalog\Api\CategoryRepositoryInterface;
use Magento\Framework\Exception\NoSuchEntityException;

class YourClass
{
    protected $categoryRepository;

    public function __construct(
        CategoryRepositoryInterface $categoryRepository
    ) {
        $this->categoryRepository = $categoryRepository;
    }

    protected function YourMethod()
    {
        try {
            $category = $this->categoryRepository->get('2');
            echo $category->getName();
        } catch (NoSuchEntityException $e) {
            echo $e->getMessage();
        }
    }
}

Tested in Magento 2.4.3