Search code examples
phplaravellumennested-setslumen-5.2

Using baum/baum with Lumen


I am trying to get baum/baum / etrepat/baum working with laravel/lumen-framework.

I have added "baum/baum": "~1.1" into my composer.json and got baum to properly install, however when I try to create a DB migration using php artisan baum:install nace_categories -vvv I get following error message:

Mareks-MacBook-Air:myDWH marekstopka$ php artisan baum:install nace_categories -vvv


  [ReflectionException]               
  Class path.database does not exist  


Exception trace:
 () at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/container/Container.php:738
 ReflectionClass->__construct() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/container/Container.php:738
 Illuminate\Container\Container->build() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/container/Container.php:633
 Illuminate\Container\Container->make() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/laravel/lumen-framework/src/Application.php:205
 Laravel\Lumen\Application->make() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/container/Container.php:1178
 Illuminate\Container\Container->offsetGet() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/baum/baum/src/Baum/Console/InstallCommand.php:111
 Baum\Console\InstallCommand->getMigrationsPath() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/baum/baum/src/Baum/Console/InstallCommand.php:88
 Baum\Console\InstallCommand->writeMigration() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/baum/baum/src/Baum/Console/InstallCommand.php:64
 Baum\Console\InstallCommand->fire() at n/a:n/a
 call_user_func_array() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/container/Container.php:507
 Illuminate\Container\Container->call() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/console/Command.php:169
 Illuminate\Console\Command->execute() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/symfony/console/Command/Command.php:256
 Symfony\Component\Console\Command\Command->run() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/illuminate/console/Command.php:155
 Illuminate\Console\Command->run() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/symfony/console/Application.php:791
 Symfony\Component\Console\Application->doRunCommand() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/symfony/console/Application.php:186
 Symfony\Component\Console\Application->doRun() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/symfony/console/Application.php:117
 Symfony\Component\Console\Application->run() at /Users/marekstopka/prace/myBusinessSuite/myDWH/vendor/laravel/lumen-framework/src/Console/Kernel.php:69
 Laravel\Lumen\Console\Kernel->handle() at /Users/marekstopka/prace/myBusinessSuite/myDWH/artisan:35

Mareks-MacBook-Air:myDWH marekstopka$ 

I have added

$app->withFacades();
$app->withEloquent();
$app->register(Baum\Providers\BaumServiceProvider::class);

into my bootstrap/app.php to enable Facades and Eloquent and to register Baum Service Provider.

I also did composer update and composer dump-autoload.

Does anybody have any experience using Baum nested set trees with Lumen framework?


Solution

  • Put following lines into your bootstrap/app.php:

    $app->instance('path.base', $app->path());
    $app->instance('path.database', $app->databasePath());
    

    See https://github.com/etrepat/baum/pull/217