我不知道如何使用Laravel框架将新列添加到现有的数据库表中.

我试图用...

<?php

public function up()
{
    Schema::create('users', function ($table) {
        $table->integer("paid");
    });
}

在终端,我执行php artisan migrate:installmigrate.

如何添加新列?

推荐答案

要创建迁移,可以在Artisan CLI上使用migrate:make命令.使用特定名称以避免与现有模型发生冲突

对于Laravel 5+:

php artisan make:migration add_paid_to_users_table --table=users

对于Laravel 3:

php artisan migrate:make add_paid_to_users

然后需要使用Schema::table()方法(因为您访问的是现有表,而不是创建新表).您可以添加如下所示的列:

public function up()
{
    Schema::table('users', function($table) {
        $table->integer('paid');
    });
}

别忘了添加回滚选项:

public function down()
{
    Schema::table('users', function($table) {
        $table->dropColumn('paid');
    });
}

然后可以运行迁移:

php artisan migrate

这在Laravel 4/Laravel 5的文档中都有很好的介绍:

And 对于Laravel 3:

编辑:

使用$table->integer('paid')->after('whichever_column');将此字段添加到特定列之后.

Php相关问答推荐

输入手写CSV时在PHP中进行日期判断

如何在搜索域名时重定向到登陆页?

dockerized laravel服务器拒绝POST请求

如何隐藏x轴图表上的值

使注册字段UserMeta值对于WooCommerce中的每个用户是唯一的

将SVG包含在另一个php生成的SVG中

首先在WooCommerce我的帐户订单页面中移动操作按钮

设置WordPress最近的帖子小部件按修改日期排序

无法在Laravel中将日志(log)通道设置为空

$this->;db->;update();CodIgnitor中的功能不工作

如何批量处理消息总线中的消息

关于Laravel缓存出现的错误

将 PHP 版本更改为 8.1,但 WordPress 认为我们正在使用版本 7.4?

Laravel路由中的符号在slug中会创建额外的斜杠

PHP Symfony 在测试.env文件中将接口自动装配作为构造函数参数,但使用接口的特定类

Laravel 测试 assertJsonMissing 不适用于唯一的键.为什么?

Laravel 10 单元测试看不到来自 Artisan Command 的数据库更改

为什么 ECDSA 384 签名验证在 GO 中失败,但在 PHP 中却没有?

在 WooCommerce 结帐后更新用户元字段

如何将在同一台服务器上运行的 2 个 PHP 应用程序与使用公共会话分开