【发布时间】:2019-07-22 11:27:30
【问题描述】:
重命名数据库列名后,我遇到了通过 eloquent 保存数据的问题。
在迁移过程中更改了列名。迁移已执行,现在数据库中的名称正常。
在模型中,列名也更改为新名称。 但是由于某种原因,当我尝试将新记录插入数据库时,Laravel 抱怨列名,它试图使用旧名称而不是新名称。
我目前使用 PHP 7 和 Laravel 5.8 和 Postgres 作为数据库。我的环境是在docker上运行的。
我已经尝试清除缓存,但没有解决我的问题。 Composer dump-autoload 也执行了,但没有任何改变。
这是错误:
Illuminate \ Database \ QueryException (42703)
SQLSTATE[42703]: Undefined column: 7 ERROR: column "name" does not exist LINE 1
重要的是说我正在使用 Laravel Backpack。
【问题讨论】:
-
请在插入新记录的位置显示您的代码。
-
虽然您已使用新列名更新了模型,但您的代码仍有可能包含对旧列的查询。我建议在您的模型中使用 constants。这样,您可以在执行查询时引用这些常量,而不必担心实际的列名。
标签: php laravel postgresql laravel-5 laravel-backpack