Laravel Backpack - Eloquent 数据库列重命名后试图在错误的列名中插入数据
Laravel Backpack - Eloquent trying to insert data in a wrong column name after database column rename
我在重命名数据库列名称后立即通过 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 背包。
有时可能是由于缓存问题,因此在您对迁移或 env 文件进行一些更改并且 Laravel 未按预期工作后,最好 运行 遵循五个命令。这是完整的解释:
https://www.youtube.com/watch?v=Q1ynDMC8UGg
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear
请尝试这些,看看是否有效。
请更新您的模型,也请尝试使用流畅的查询进行测试,例如:
DB::table('users')->insert(array('name'=>'xyz'));
我在重命名数据库列名称后立即通过 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 背包。
有时可能是由于缓存问题,因此在您对迁移或 env 文件进行一些更改并且 Laravel 未按预期工作后,最好 运行 遵循五个命令。这是完整的解释: https://www.youtube.com/watch?v=Q1ynDMC8UGg
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear
请尝试这些,看看是否有效。
请更新您的模型,也请尝试使用流畅的查询进行测试,例如:
DB::table('users')->insert(array('name'=>'xyz'));