Php Laravel BACKBACK-在数据库列重命名后尝试在错误的列名中插入数据,这很有说服力

Php Laravel BACKBACK-在数据库列重命名后尝试在错误的列名中插入数据,这很有说服力,php,laravel,postgresql,laravel-5,backpack-for-laravel,Php,Laravel,Postgresql,Laravel 5,Backpack For Laravel,在重命名数据库列名之后,我面临着一个问题,即如何通过Elount保存数据 在迁移过程中更改了列名。迁移已执行,数据库中的名称现在已确定 在模型中,列名也更改为新名称。 但出于某种原因,当我试图向数据库中插入新记录时,Laravel抱怨列名,它试图使用旧名称而不是新名称 我目前正在使用PHP7和Laravel5.8以及Postgres作为数据库。我的环境正在docker上运行 我已经尝试清除缓存,但没有解决我的问题。 作曲家转储自动加载也已执行,但没有任何更改。 这就是错误: Illuminate

在重命名数据库列名之后,我面临着一个问题,即如何通过Elount保存数据

在迁移过程中更改了列名。迁移已执行,数据库中的名称现在已确定

在模型中,列名也更改为新名称。 但出于某种原因,当我试图向数据库中插入新记录时,Laravel抱怨列名,它试图使用旧名称而不是新名称

我目前正在使用PHP7和Laravel5.8以及Postgres作为数据库。我的环境正在docker上运行

我已经尝试清除缓存,但没有解决我的问题。 作曲家转储自动加载也已执行,但没有任何更改。

这就是错误:

Illuminate \ Database \ QueryException (42703)
SQLSTATE[42703]: Undefined column: 7 ERROR: column "name" does not exist LINE 1

导入意味着我正在使用Laravel背包。

有时可能由于缓存问题,因此最好在对迁移或环境文件进行一些更改后运行以下五个命令,Laravel无法按预期工作。以下是完整的解释:


请尝试这些,看看它是否在之后工作。

请更新您的模型,并尝试使用fluent query进行测试,如:

DB::table('users')->insert(array('name'=>'xyz'));

请在插入新记录的位置显示您的代码。虽然您已使用新列名更新了模型,但您的代码仍可能包含对旧列的查询。我建议在模型中使用常量。这样,您可以在执行查询时引用这些常量,而不必担心实际的列名。这就是解决方案。但是为了工作,必须在docker容器中运行这些命令。通常从项目根目录中的命令行运行对我来说很好。不管怎样,我很高兴它对你有用
DB::table('users')->insert(array('name'=>'xyz'));