Oi pessoal,
Alguém teve algum problema na hora de exibir a imagem inserida no banco de dados? Consultei no banco e o nome do arquivo aparece salvo e, na pasta uploads
Tentei depurar pra ver o resultado obtido mas não consegui resolver
  
O erro apresentado em tela
  
Controller
    $user = new Users($name, $username, $category);     // cria um usuário para ser inserido
    if ($_FILES['image']['error'] === UPLOAD_ERR_OK) {  // com a variável global FILES verifica se não há erros
        move_uploaded_file(                             // move um arquivo do diretório tmp do php para a pasta    
            $_FILES['image']['tmp_name'],
            __DIR__ . './../../public/img/uploads/' . $_FILES['image']['name']
        );
        $user->setFilePath($_FILES['image']['name']);   // define um nome para o arquivo
    }Repository
public function add(Users $user): bool
    {
        $sql = 'INSERT INTO users (name, username, category, image_path) VALUES (?, ?, ?, ?)';
        $statement = $this->pdo->prepare($sql);
        $statement->bindValue(1, $user->name);
        $statement->bindValue(2, $user->username);
        $statement->bindValue(3, $user->category);
        $statement->bindValue(4, $user->getFilePath());
        $result = $statement->execute();
        $id = $this->pdo->lastInsertId();
        $user->setId(intval($id));
        return $result;
    }
    public function update(Users $user): bool
    {
        $updateImageSql = '';
        if ($user->getFilePath() !== null) {
            $updateImageSql = ', image_path = :image_path';
        }
        $sql = "UPDATE users SET name = :name, username = :username, category = :category $updateImageSql WHERE id = :id";
        $statement = $this->pdo->prepare($sql);
        $statement->bindValue(':name', $user->name);
        $statement->bindValue(':username', $user->username);
        $statement->bindValue(':category', $user->category);
        $statement->bindValue(':id', $user->id, PDO::PARAM_INT);
        if ($user->getFilePath() !== null) {
            $statement->bindValue(':image_path', $user->getFilePath());
        }
        return $statement->execute();
    }
    private function hydrate(array $userData): Users
    {
        $user = new Users($userData['name'], $userData['username'], $userData['category']);
        $user->setId($userData['id']);
        if ($user['image_path'] !== null) {                // a linha 90 aponta aqui
            $user->setFilePath($user['image_path']);
        }
        return $user;
    }