Lumen(Laravel)Eloquent php工匠制作:模型没有定义

Sam*_*zon 27 php lumen laravel-5.1

我使用Lumen 1.0作为API项目.

我已经通过取消注释bootstrap/app.php文件中的以下行来启用Eloquent :

$app->withEloquent();
Run Code Online (Sandbox Code Playgroud)

但是,当我想用​​迁移创建我的第一个模型时,它会失败:

php artisan make:model Book --migration
Run Code Online (Sandbox Code Playgroud)

错误信息 :

  [InvalidArgumentException]
  Command "make:model" is not defined.
  Did you mean one of these?
      make:seeder
      make:migration
Run Code Online (Sandbox Code Playgroud)

Laravel关于Eloquent的文档(http://laravel.com/docs/5.1/eloquent#defining-models).

Lumen doc(http://lumen.laravel.com/docs/installation)不包含Eloquent doc,因为它默认情况下不启用.

你有什么想法可以避免这个错误吗?

添加细节

php artisan --version
Run Code Online (Sandbox Code Playgroud)

显示:

Laravel Framework version Lumen (5.1.6) (Laravel Components 5.1.*)
Run Code Online (Sandbox Code Playgroud)

Rwd*_*Rwd 32

你看到这个错误,因为Lumen没有带来make:model.

要查看您可以使用的所有工匠命令的列表,请运行php artisan.

话虽如此,我确实找到了我已经添加到流明安装的这个包,它看起来工作得很好https://github.com/webNeat/lumen-generators#installation

希望这可以帮助!


joh*_*pin 18

如果您使用检查所有可用命令,php artisan list您将看到您没有提供的所有默认命令laravel。但是您可以使用该lumen-generator包获得最重要的信息(不要与 混淆lumen-generators)。它的优点是提供比提到的另一个命令更多的命令。

要使用它,只需使用composer以下命令安装它:

composer require flipbox/lumen-generator
Run Code Online (Sandbox Code Playgroud)

然后在您的bootstrap/app.php文件中启用它:

$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
Run Code Online (Sandbox Code Playgroud)

您现在可以使用以下命令使用所有这些新命令artisan

key:generate      Set the application key

make:command      Create a new Artisan command
make:controller   Create a new controller class
make:event        Create a new event class
make:job          Create a new job class
make:listener     Create a new event listener class
make:mail         Create a new email class
make:middleware   Create a new middleware class
make:migration    Create a new migration file
make:model        Create a new Eloquent model class
make:policy       Create a new policy class
make:provider     Create a new service provider class
make:seeder       Create a new seeder class
make:test         Create a new test class
Run Code Online (Sandbox Code Playgroud)

看看官方文档:https : //github.com/flipboxstudio/lumen-generator


Thu*_*han 9

  1. 转到项目目录,然后composer.json使用以下命令将generators包添加到您的文件中:

    composer require wn/lumen-generators
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将以下代码段添加到app/Providers/AppServiceProvider.php

    public function register()
    {
        if ($this->app->environment() == 'local') {
            $this->app->register('Wn\Generators\CommandsServiceProvider');
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 确保您已取消注释以下行,bootstrap/app.php以允许项目中的服务提供商:

    $app->register(App\Providers\AppServiceProvider::class);
    
    Run Code Online (Sandbox Code Playgroud)
  4. 运行php artisan list该项目目录(文档根目录)。现在,您将在此处看到新项目。