嗨,我正在使用laravel v5.5
,当我运行此命令时,我得到以下错误
php artisan migrate --seed
请告诉我如何修复错误:
SQLSTATE[42S22]:未找到列:1054 Unknown column 'email_verified_at' in 'field list'(SQL:插入到用户(名称,电子邮件,电子邮件_验证_at,密码,创建_at,更新_at)值(Admin Admin,email protected(https://stackoverflow.com/cdn-cgi/l/email-protection),2020-02-27 13:17:35,$2y$10$0 J3IWuCGVzgfPlP8UgfOK.MjNs2R.m5Jri43SPK3VXSy1NDZHKt4u,2020 - 02 - 27 13:17:35,2020-02-27 13:17:35)
在Connection.php行452
SQLSTATE[42S22]:未找到列:1054 Unknown column 'email_verified_at' in 'field list')
如果我使用laravel向数据库添加新的列,你能帮助我如何做到这一点。
先谢谢你了。
4条答案
按热度按时间mwecs4sa1#
请确保您的用户工厂属性=您的用户表属性(未自动签名或可能为“可空”),如
在您的UserFactory中
在用户表中,
dly7yett2#
你必须创建一个迁移。Laravel提供了一个身份验证系统,只需使用
php artisan make:auth
。它将在
database/migrations/00xx[...].php
内部生成一个迁移,要应用此迁移,您必须运行命令:php artisan migrate
这将创建所有的表和列。一旦完成,您就可以使用认证系统。
如果您想创建自己的迁移(例如添加新列),可以运行:
php artisan make:migration add_address_to_users_table
(在users
表中添加列address
)。这将在
database/migrations
中创建一个新文件夹,您只需使用此文档编辑它:https://laravel.com/docs/5.8/migrations0dxa2lsx3#
有两种方法可以解决此问题
正如他们在评论部分提到的,你使用laravel
v5.5
,并从更高版本中获得一个种子文件,该文件具有新列email_verified_at
。第一条路
从seeder文件中删除
email_verified_at
列的任何种子第二条路
在
users
迁移文件中,将其编辑为如下所示根据你的laravel版本,我建议你使用第一种方法是从你的seeder中删除
email_verified_at
,因为它的功能在laravelv5.5
和更低版本中不支持。gpnt7bae4#
SQLSTATE[42S22]:未找到列:1054 Unknown column 'profile_photo_path' in 'field list'
在Laravel 10中,你只需要进入你的数据库,用户表,然后在用户表中添加字段
profile_photo_path
,然后刷新你的应用程序。另外,请确保将
APP_URL
从APP_URL=http://localhost
更改为APP_URL=http://127.0.0.1:8000
。使用此命令链接您的存储:php artisan storage:link
。