Laravel表单提交报错SQLSTATE[42S02]:表crm.email不存在求助
错误原因及解决方法
错误的核心原因是你在email字段的验证规则里写了required|unique:email,这里的unique规则参数使用错误。
Laravel的unique验证规则要求指定要检查的数据库表名(或对应模型类名),你写的email会被Laravel误认为是数据库表名,它会自动去查询crm.email这个表做唯一性校验,但该表并不存在,所以触发了「表不存在」的错误——哪怕你没在控制器里主动操作数据库,验证规则执行时会自动发起数据库查询。
解决方法:
- 若需要校验email在某张已存在表中的唯一性,将
unique规则的参数改为正确的表名。比如校验用户表就写required|unique:users;若要复用之前的customerdata表,需先重新创建该表,再写required|unique:customerdata。 - 若不需要email唯一性校验,直接删除
|unique:email这部分规则即可。
内容的提问来源于stack exchange,提问作者Harsh negi
相关产品推荐
相关产品推荐

