Laravel数据库填充:如何修改填充列的默认名称?
解决Laravel数据库填充时"Unknown column 'name'"错误
你遇到的问题核心是User模型对应的Factory文件还在尝试插入name字段,和你修改后的数据库表字段不匹配,按以下步骤解决:
修改User模型的
$fillable属性
打开app/Models/User.php,把原来的'name'替换成'username',示例代码:protected $fillable = [ 'username', 'email', 'password', 'email_verified_at', ];修改User Factory文件
找到database/factories/UserFactory.php,把定义字段的数组里的'name'改成'username',还可以调整生成数据的方法(比如用fake()->userName()生成更贴合用户名的内容),示例:return [ 'username' => fake()->userName(), 'email' => fake()->unique()->safeEmail(), 'email_verified_at' => now(), 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'remember_token' => Str::random(10), ];验证数据库表结构(可选)
确认database/migrations/create_users_table.php里确实是$table->string('username');而不是name,如果之前已经执行过迁移,需要重新同步表结构(注意会清空现有数据):php artisan migrate:fresh --seed
内容的提问来源于stack exchange,提问作者Butterfly
相关产品推荐
相关产品推荐

