Laravel - 动态创建表(无需迁移)

时间:2015-05-07 08:47:07

标签: php mysql laravel database-schema

我正在尝试根据管理员请求动态创建一个表,虽然在大多数Laravel的文档中看起来都很有趣和花花公子,但我似乎无法创建表。虽然我可以删除表格,然后按照我的意愿添加或删除列。

这是我的基本代码模型:

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

public static function createTable() {

    Schema::create('randomName', function($table)
    {
        $table->increments('id');
        $table->string('name');
    });
}

这可能是什么问题?不幸的是我没有收到任何错误,所以我不知道如何调试它。它只是继续下一行,就像一切正常。它只是不创建任何表。

有什么建议吗?非常感谢提前!

2 个答案:

答案 0 :(得分:36)

嗯,没关系......我已经做了足够长的时间了,解决方案一如既往......非常简单。

我必须先为数据库建立一个连接,而不是

Schema::create('tableName', function($table)
{           
    $table->increments('id');
});

Schema::connection('mysql')->create('tableName', function($table)
{
    $table->increments('id');
});

希望将来有一天可以帮助某人!

答案 1 :(得分:7)

这个更好。

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::create('tableName', function (Blueprint $table) {
        $table->increments('id');
        $table->timestamps();
    });