Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BadMethodCallException: There's no value Some College defined for enum App\Domain\Admission\Enums\HighestEducationEnum, consider adding it in the docblock definition. in ..vendor\spatie\enum\src\Enum.php:157 #100

Closed
isaacdarcilla opened this issue Jul 10, 2023 · 1 comment
Labels

Comments

@isaacdarcilla
Copy link

isaacdarcilla commented Jul 10, 2023

I got this weird behaviour, values in snake case (some_elementary, some_high_school) returns BadMethodCallException, while a single word like elementary, vocational works perfectly fine.

Enum:

<?php

namespace App\Domain\Admission\Enums;

use Spatie\Enum\Enum;

/**
 * @method static self some_elementary()
 * @method static self elementary()
 * @method static self some_high_school()
 * @method static self high_school()
 * @method static self vocational()
 * @method static self some_college()
 * @method static self bachelor_degree()
 * @method static self master_degree()
 * @method static self professional_degree()
 * @method static self doctoral_degree()
 * @method static self other()
 */
class HighestEducationEnum extends Enum
{
    protected static function values(): array
    {
        return [
            'some_elementary' => 1,
            'elementary' => 2,
            'some_high_school' => 3,
            'high_school' => 4,
            'vocational' => 5,
            'some_college' => 6,
            'bachelor_degree' => 7,
            'master_degree' => 8,
            'professional_degree' => 9,
            'doctoral_degree' => 10,
            'other' => 11,
        ];
    }

    protected static function labels(): array
    {
        return [
            'some_elementary' => 'Some Elementary',
            'elementary' => 'Elementary',
            'some_high_school' => 'Some High School',
            'high_school' => 'High School',
            'vocational' => 'Vocational',
            'some_college' => 'Some College',
            'bachelor_degree' => 'Bachelor Degree',
            'master_degree' => 'Master Degree',
            'professional_degree' => 'Professional Degree',
            'doctoral_degree' => 'Doctoral Degree',
            'other' => 'Other',
        ];
    }
}

Stack Trace:

Stack trace:
#0 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\spatie\enum\src\Enum.php(102): Spatie\Enum\Enum->__construct('Some College')
#1 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\app\Domain\Admission\Services\AdmissionService.php(137): Spatie\Enum\Enum::from('Some College')
#2 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\app\Http\Livewire\Admission\Components\AdmissionFamilyForm.php(113): App\Domain\Admission\Services\AdmissionService->storeFamily(Object(App\Domain\Admission\Dto\CreateAdmissionFamilyDto), 61)
#3 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Collections\Traits\EnumeratesValues.php(236): App\Http\Livewire\Admission\Components\AdmissionFamilyForm->App\Http\Livewire\Admission\Components\{closure}(Array, 0)
#4 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\app\Http\Livewire\Admission\Components\AdmissionFamilyForm.php(112): Illuminate\Support\Collection->each(Object(Closure))
#5 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(36): App\Http\Livewire\Admission\Components\AdmissionFamilyForm->submit()
#6 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Container\Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#7 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#8 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#9 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\ComponentConcerns\HandlesActions.php(149): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array)
#10 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\HydrationMiddleware\PerformActionCalls.php(36): Livewire\Component->callMethod('submit', Array, Object(Closure))
#11 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\LifecycleManager.php(89): Livewire\HydrationMiddleware\PerformActionCalls::hydrate(Object(App\Http\Livewire\Admission\Components\AdmissionFamilyForm), Object(Livewire\Request))
#12 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\Connection\ConnectionHandler.php(13): Livewire\LifecycleManager->hydrate()
#13 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\Controllers\HttpConnectionHandler.php(19): Livewire\Connection\ConnectionHandler->handle(Array)
#14 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php(46): Livewire\Controllers\HttpConnectionHandler->__invoke('admission.compo...')
#15 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Route.php(259): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Livewire\Controllers\HttpConnectionHandler), '__invoke')
#16 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Route.php(205): Illuminate\Routing\Route->runController()
#17 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Router.php(799): Illuminate\Routing\Route->run()
#18 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#19 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#20 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#21 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#22 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#24 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#26 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\Store), Object(Closure))
#27 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#29 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\stancl\tenancy\src\Middleware\IdentificationMiddleware.php(36): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\stancl\tenancy\src\Middleware\InitializeTenancyByDomain.php(37): Stancl\Tenancy\Middleware\IdentificationMiddleware->initializeTenancy(Object(Illuminate\Http\Request), Object(Closure), 'catsu.localhost')
#34 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Stancl\Tenancy\Middleware\InitializeTenancyByDomain->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Router.php(798): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#37 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Router.php(777): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#38 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Router.php(741): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#39 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Routing\Router.php(730): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#40 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(200): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#41 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#42 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\livewire\livewire\src\DisableBrowserCache.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#43 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Livewire\DisableBrowserCache->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#45 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#46 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(36): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#47 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#49 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Http\Middleware\HandleCors.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#53 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#55 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#56 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#57 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(175): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#58 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#59 C:\Users\Isaac\Desktop\Dev\Laravel\unilink\source\public\index.php(51): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
@github-actions
Copy link

github-actions bot commented Aug 1, 2023

This issue is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 7 days

@github-actions github-actions bot added the stale label Aug 1, 2023
@github-actions github-actions bot closed this as completed Aug 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant