首页 > 解决方案 > Laravel 没有创建没有错误的记录

问题描述

我对 laravel (5.7) 有点陌生,我一直在尝试创建注册表单。验证效果很好,但随后页面刷新,没有任何反应,没有错误,注册表上没有任何变化,数据库上没有记录。

这是我的控制器,我调整了 laravel 为您提供的基本形式,使其与我的数据库匹配。我为我的模型创建了一个文件夹,因此我将路径更改为“用户”模型,这就是我对此所做的所有调整。

namespace App\Http\Controllers\Auth;

use App\Models\users;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{

    use RegistersUsers;

    protected $redirectTo = '/home';

    public function __construct()
    {
        $this->middleware('guest');
    }

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users,User_Email',
            'passowrd' => 'required|string|min:2|confirmed',
        ]);
    }

    protected function create(array $data)
    {
       return users::create([
            'User_Nom' => $data['name'],
            'User_Email' => $data['email'],
            'User_pwd' => Hash::make($data['password']),
        ]);
    }
}

我猜它与我的模型有关,但我无法将手指放入其中。所以这是我的模型:

namespace App;

    use Illuminate\Notifications\Notifiable;
    use Illuminate\Foundation\Auth\User as Authenticatable;

    class users extends Authenticatable
    {
        use Notifiable;

       protected $primaryKey = 'User_Id';
       protected $table = 'users';
        protected $fillable = [
            'User_Id', 'User_Nom', 'User_Prenom', 'User_pwd', 'User_Email', 'User_Tel', 'User_Fax', 'User_Post'
       ];
        protected $hidden = [
            'User_pwd', 'remember_token',
        ];
    }

(对不起,副本的缩进 - 过去搞砸了)

谢谢

标签: phpdatabaselaravelmodelcontroller

解决方案


在您的模型中,还应更改命名空间以匹配它所在的文件夹。所以:namespace App\Models;. 除此之外,您的验证中有一个错字:passowrd.

查看https://laravel.com/docs/5.7/requests以了解您应该如何在控制器中接收数据。


推荐阅读