扩展Laravel Schema Builder创建功能

时间:2015-10-16 06:52:16

标签: php angularjs laravel laravel-5.1

我在文档中进行了搜索并摆弄了Laravel代码但却一无所获。我使用的是Laravel 5.1。

我想知道我是否可以扩展Schema :: create函数或者在反向迁移方面做些什么。我想恢复迁移期间设置的字段和类型,并将它们输出到每个迁移文件的json文件(有很多)。 该文件将在angular formly中使用。 这样我就可以在迁移命令期间生成所有内容。

我认为重复每次迁移的代码并不是最好的方法。有什么想法吗?

class CreatePlanTypesTable extends Migration
{

    public function up()
    {
        Schema::create('plan_types', function (Blueprint $table) 
        {
            $table->increments('id');
            $table->string('name');
            $table->string('slug');
            $table->dateTime('created_at');
            $table->dateTime('updated_at');

            // ---- dont want to repeat for each migration file -----
            $json = [];

            $columns = $table->getColumns();

            foreach($columns as $column)
            {
                $json[] = [
                    'key' => $column['name'],
                    'type' => $column['type'],
                    'templateOptions' => [
                        'label' => '',
                        'placeholder' => ''
                    ]
                ];
            }
            file_put_contents('tablefile.json', json_encode($json));
            // -------------------
        });
    }
    ...

0 个答案:

没有答案