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

2022-08-30 18:43:24

我试图根据管理员请求动态创建一个表,虽然它似乎应该像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');
    });
}

这里可能有什么问题?不幸的是,我没有收到任何错误,所以不知道如何调试它。

有什么建议吗?提前致谢!


答案 1

呃,没关系...我为此工作了足够长的时间,解决方案一如既往地......非常简单。

我只需要先弄清楚数据库的连接,所以而不是

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

是的

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

希望这能帮助将来的某一天!


答案 2

这个甚至更好。

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

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

推荐