Skip to content

BindingResolutionException with Illuminate\Database\Eloquent\Model #269

Description

@FlorianMoser

Wayfinder Version

0.1.20

Laravel Version

13.11.2

PHP Version

8.4.21

Description

When running "php artisan wayfinder:generate", I get a BindingResolutionException (see stacktrace below).

It seems to be related to the StatamicRadPack/Runway package, but I currently can't wrap my head around what exactly happens (other than Illuminate\Database\Eloquent\Model being an abstract class that cannot be instantiated).

Illuminate\Contracts\Container\BindingResolutionException

  Target [Illuminate\Database\Eloquent\Model] is not instantiable while building [Laravel\Wayfinder\GenerateCommand].

  at vendor/laravel/framework/src/Illuminate/Container/Container.php:1416
    1412▕         } else {
    1413▕             $message = "Target [$concrete] is not instantiable.";
    1414▕         }
    1415▕
  ➜ 1416▕         throw new BindingResolutionException($message);
    1417▕     }
    1418▕
    1419▕     /**
    1420▕      * Throw an exception for an unresolvable primitive.

  1   vendor/laravel/framework/src/Illuminate/Container/Container.php:1134
      Illuminate\Container\Container::notInstantiable("Illuminate\Database\Eloquent\Model")

  2   vendor/laravel/framework/src/Illuminate/Container/Container.php:936
      Illuminate\Container\Container::build("Illuminate\Database\Eloquent\Model")

  3   vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1078
      Illuminate\Container\Container::resolve("Illuminate\Database\Eloquent\Model", [])

  4   vendor/laravel/framework/src/Illuminate/Container/Container.php:864
      Illuminate\Foundation\Application::resolve("Illuminate\Database\Eloquent\Model", [])

  5   vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1058
      Illuminate\Container\Container::make("Illuminate\Database\Eloquent\Model", [])

  6   vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:138
      Illuminate\Foundation\Application::make("Illuminate\Database\Eloquent\Model", [])
  7   vendor/laravel/wayfinder/src/BindingResolver.php:29

  8   vendor/laravel/wayfinder/src/Parameter.php:38
      Laravel\Wayfinder\BindingResolver::resolveTypeAndKey("Illuminate\Database\Eloquent\Model")

  9   vendor/laravel/wayfinder/src/Parameter.php:23
      Laravel\Wayfinder\Parameter::resolveTypes()

  10  vendor/laravel/wayfinder/src/Route.php:80
      Laravel\Wayfinder\Parameter::__construct("model", Object(ReflectionParameter))

  11  [internal]:0
      Laravel\Wayfinder\Route::{closure:Laravel\Wayfinder\Route::parameters():80}("model")
  12  vendor/laravel/framework/src/Illuminate/Collections/Arr.php:842

  13  vendor/laravel/framework/src/Illuminate/Collections/Collection.php:827
      Illuminate\Support\Arr::map(Object(Closure))

  14  vendor/laravel/wayfinder/src/Route.php:80
      Illuminate\Support\Collection::map(Object(Closure))

  15  vendor/laravel/wayfinder/src/GenerateCommand.php:326
      Laravel\Wayfinder\Route::parameters()

  16  [internal]:0
      Laravel\Wayfinder\GenerateCommand::{closure:Laravel\Wayfinder\GenerateCommand::appendCommonImports():326}(Object(Laravel\Wayfinder\Route))
  17  vendor/laravel/framework/src/Illuminate/Collections/Collection.php:199

  18  vendor/laravel/wayfinder/src/GenerateCommand.php:326
      Illuminate\Support\Collection::contains(Object(Closure))

  19  vendor/laravel/wayfinder/src/GenerateCommand.php:210
      Laravel\Wayfinder\GenerateCommand::appendCommonImports(Object(Illuminate\Support\Collection), "…/resources/js/actions/StatamicRadPack/Runway/Http/Controllers/CP/ResourceController.ts", "StatamicRadPack.Runway.Http.Controllers.CP.ResourceController")

  20  vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php:275
      Laravel\Wayfinder\GenerateCommand::writeControllerFile(Object(Illuminate\Support\Collection), "StatamicRadPack.Runway.Http.Controllers.CP.ResourceController")

  21  vendor/laravel/wayfinder/src/GenerateCommand.php:80
      Illuminate\Support\Collection::each(Object(Closure))

  22  vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      Laravel\Wayfinder\GenerateCommand::handle()

  23  vendor/laravel/framework/src/Illuminate/Container/Util.php:43
      Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()

  24  vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:96
      Illuminate\Container\Util::unwrapIfClosure(Object(Closure))

  25  vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:35
      Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Object(Closure))

  26  vendor/laravel/framework/src/Illuminate/Container/Container.php:799
      Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), [])

  27  vendor/laravel/framework/src/Illuminate/Console/Command.php:280
      Illuminate\Container\Container::call()

  28  vendor/symfony/console/Command/Command.php:291
      Illuminate\Console\Command::execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

  29  vendor/laravel/framework/src/Illuminate/Console/Command.php:249
      Symfony\Component\Console\Command\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

  30  vendor/symfony/console/Application.php:1107
      Illuminate\Console\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

  31  vendor/symfony/console/Application.php:356
      Symfony\Component\Console\Application::doRunCommand(Object(Laravel\Wayfinder\GenerateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

  32  vendor/symfony/console/Application.php:195
      Symfony\Component\Console\Application::doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

  33  vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:198
      Symfony\Component\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

  34  vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1235
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

  35  artisan:16
      Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))

Steps To Reproduce

  1. Have Laravel installed
  2. Have Statamic 6 installed
  3. Have StatamicRadPack/Runway installed
  4. Run "php artisan wayfinder:generate" in the CLI

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions