美文网首页
Laracademy Generators学习记录

Laracademy Generators学习记录

作者: purewater2014 | 来源:发表于2017-06-07 23:17 被阅读19次

Laravel 提供 Artisan 命令行工具让你使用 generators 去节省时间。 比如我们熟悉的 make:controller 、make:model 和 make:migration。

在这个想法的基础上,一个名为 Laracademy Generators 的第三方软件包诞生了。它会基于数据库结构自动生成的模型。(哇塞!这好方便呀!)

安装:

让我们用讨论的形式,看看 Laracademy Generator 工作时的流程。

首先,一如既往地创建迁移:

php artisan make:migration create_posts_table —create=posts
然后将字段添加到生成的迁移文件。举个简单的栗子:

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->text('body');
        $table->boolean('featured');
        $table->datetime('publish_date');
        $table->timestamps();
    });
}

接着在终端执行以下命令来迁移表:

php artisan migrate Migrated: 2016_08_26_145636_create_posts_table

接着安装 Laracademy Generators,也是在终端中运行命令:

composer require "laracademy/generators"

然后将下面的语句添加到 config/app.php 文件的 providers 数组中:

Laracademy\Generators\GeneratorsServiceProvider::class
或者,如果你只想在本地开发时使用这个包,那就把下面的内容添加到 app/Providers/AppServiceProvider.php 中:

public function register()
{
    if($this->app->environment() == 'local') {
        $this->app->register('\Laracademy\Generators\GeneratorsServiceProvider');
    }
}

准备妥当,可以来感受下 Laracademy Generators 的便利了。我们继续探讨如何使用它以及研究下那些可用的参数。如果你检查你的 Artisan cli,会看到一个新的命令出现在列表中:

generate:modelfromtable

首先,你可以增加参数 -all 来告诉 Laracademy Generators 为数据库中存在的所有表生成模型:

php artisan generate:modelfromtable --all

另一个参数是 -table,使用它可以让 Laracademy Generators 将你指定的表生成模型,如下所示:

php artisan generate:modelfromtable --table=posts

也可以一次指定多个表:

php artisan generate:modelfromtable --table=users,posts

还有另外两个参数:一个用于选择数据库连接 -connection=example,另一个用于指定生成的模型的位置 -folder=app\Models。

相关文章

网友评论

      本文标题:Laracademy Generators学习记录

      本文链接:https://www.haomeiwen.com/subject/tsxzfxtx.html