如何在不使用迁移的情况下创建新列

how to make a new column without using migration

我需要使用控制器文件在 table 中创建新列。为了完成这项任务,我在控制器中添加了一些迁移代码,如下所示

use Illuminate\Support\Facades\Schema;

并将其放入控制器函数中

public function getColumn(Request $request)
{
    $columnName = $request->columnName;
    Schema::table('tablename', function($table)
    {
         $table->double(columnName)->nullable();
    });
}

我想在这里输入一个我从请求中获得的名称,我无法将 $columnName 放入此代码中

您需要将 columnName 变量传递给函数。 大概是这样的:

public function getColumn(Request $request)
{
    $columnName = $request->columnName;
    Schema::table('tablename', function($table) use($columnName)
    {
         $table->double($columnName)->nullable();
    });
}