为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel - 找不到列,当它存在于数据库中时

Laravel - 找不到列,当它存在于数据库中时

PHP
茅侃侃 2021-11-26 19:50:42
我正在尝试注册一类用户(客户),但我目前遇到了这个错误:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'where clause' (SQL: select count(*) as aggregate from `users` where `name` = john123)该列确实存在于数据库表“customers”中,另外这个 Laravel 生成的 SQL 查询看起来很奇怪? 注册控制器:protected function createCustomer(Request $request)    {        // dd($request->all());        // $this->validator($request->all())->validate();        $validator = Validator::make($request->all(), [            'name' => ['required', 'alpha_dash', 'string', 'max:25', 'unique:users'],            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],            'password' => ['required', 'string', 'min:6', 'confirmed'],        ]);        if ($validator->fails())        {            $messages = $validator->messages();            return Redirect::back()->withErrors($validator)->withInput();            foreach($errors->all() as $error) {            echo $error;        }        }        elseif ($validator->passes())        {            $customer = customer::create([                'name' => $request['name'],                'email' => $request['email'],                'password' => Hash::make($request['password']),            ]);            return redirect()->intended('login/customer');        }    }任何帮助都会非常棒!谢谢 :)
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您正在验证没有 name 列的 users 表中的唯一性。所以它给了你错误。改用客户表。


$validator = Validator::make($request->all(), [

            'name' => ['required', 'alpha_dash', 'string', 'max:25', 'unique:customers'],

            'email' => ['required', 'string', 'email', 'max:255', 'unique:customers'],

            'password' => ['required', 'string', 'min:6', 'confirmed'],

        ]);


查看完整回答
反对 回复 2021-11-26
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

您的错误表示在users表中找不到该列,并且您已经提到该列存在于customers表中。

请验证您是否使用了protected $table = 'tableName';属性,如果使用了请检查是否指定了正确的表名。


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信