当前位置: 首页 > 知识库问答 >
问题:

如何在laravel中向现有表添加新列

潘意
2023-03-14

我正在表任务中添加新列名标题。但我得到一个错误,该表中不存在此列。谁能帮我解决那个错误。这是我的密码:

php artisan make:migration将_title_添加到_tasks_table--table=“tasks”然后添加此代码

Schema::table('tasks', function (Blueprint $table) { 
  $table->string('title');
});

到创建的新表文件

共有3个答案

贾越
2023-03-14

请执行以下操作:

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::table('tasks', function (Blueprint $table) {
       $table->string('title')->after('your-column-name');
    });
}

用现有列名替换“您的列名”。

保存文件。从终端,执行:

php artisan migrate

上面的命令将把列添加到表中。

您得到该错误是因为您没有运行migrate命令。无论何时创建迁移文件,都必须执行上述命令才能查看数据库表中的更改。

此外,如果models$filleble属性中不存在新列,则还必须将其添加到那里。。

/**
 * The attributes that are mass assignable.
 *
 * @return  array
 */
protected $fillable = [
    'title', // <-- new column name
    // .. other column names
];

如果不更新$fillable属性,将导致MassAssignmentExecption

希望这对你有所帮助。快乐编码。干杯

林元明
2023-03-14

对于刚接触laravel并正在寻找解决方案的人,请按照步骤1)进行操作<代码>php artisan make:迁移将标题添加到任务表--table=“tasks”

2). 在migrations文件夹中编辑新创建的文件,并添加以下内容。

public function up() {
    Schema::table('tasks', function (Blueprint $table) {

        $table->string('title')->after('id');

       // to change column datatype or change it to `nullable` 
       // or set default values , this is just example

       $table->string('title')->default('Test')->change(); 

    });
}

3). 运行migrations命令。

php artisan迁移

胡昊
2023-03-14

更改表并添加列。

     /**
     * Run the migrations.
     *
     * @return void
     */
    public function up() {
        Schema::table('tasks', function (Blueprint $table) {

            $table->string('title')->after('id');

           // to change column datatype or change it to `nullable` 
           // or set default values , this is just example

           $table->string('title')->default('Test')->change(); 

        });
    }

你可以参考这里的文档,Laravel迁移

 类似资料:
  • 我想在laravel中现有的表中添加一些新列。 我已经在谷歌上搜索过了,在这些搜索之后,我已经使用命令创建了迁移。 将列添加到用户。php 创建之后,我运行这个命令。 但也犯了同样的错误: 基本表或视图已存在:1050个表“用户”已存在(SQL:create table(int unsigned not null自动递增主键,varchar(255)not null,varchar(255)not

  • 我不知道如何使用Laravel框架将新列添加到我现有的数据库表中。 我尝试使用...编辑迁移文件。 在终端中,我执行和。 如何添加新列?

  • 我不知道如何使用Laravel框架将新列添加到现有的数据库表中。 我试图使用…编辑迁移文件。。。 在终端,我执行和。 如何添加新列?

  • 问题内容: 我不知道如何使用Laravel框架向现有数据库表添加新列。 我试图使用…来编辑迁移文件。 在终端中,我执行和。 如何添加新列? 问题答案: 要创建迁移,您可以在Artisan CLI上使用migration:make命令。使用特定名称以避免与现有模型冲突 对于Laravel 3: 对于Laravel 5+: 然后,您需要使用该方法(在访问现有表而不是创建新表时)。您可以添加如下所示的列

  • 我是新来的laravel框架。为了使博客网址对搜索引擎优化友好,我需要为laravel网站的现有博客表添加一个额外的列。我们可以直接在数据库中的表中添加列吗?我们可以在没有命令或迁移的情况下添加列吗?你能建议一个简单的方法来添加这个列吗?

  • 我有一些表,我想在这个表中添加新的列。我想添加默认值为空的字符串列。 我试着这样加上去 或 但我有一个错误