首页 文章

Laravel Eloquent Create什么都不做

提问于
浏览
1

所以我正在学习Laravel,我正在尝试使用输入到表单中的数据在数据库中创建一个新用户 . 在我的控制器中,我正在获取表单数据,将其传递给验证器,其中一些规则通过正常,但是当我尝试创建用户时,没有任何内容被添加到数据库并且它重定向到基本的“哎呀,看起来出了问题 . “错误页面而不是我告诉它的页面 .

这是我的控制器功能:

public function doRegister() {
    $rules = array(
        'fname'=>'required|alpha|min:2',
        'lname'=>'required|alpha|min:2',
        'email'=>'required|email|unique:users',
        'company'=>'required|alpha|min:2',
        'password'=>'required|alpha_num|between:6,12|confirmed',
        'password_confirmation'=>'required|alpha_num|between:6,12'
    );

    $validator = Validator::make(Input::all(), $rules);

    if($validator->passes()) {
        User::create(array(
            'fname'      => Input::get('fname'),
            'lname'      => Input::get('lname'),
            'email'      => Input::get('email'),
            'password'   => Hash.make(Input::get('password')),
            'company'    => Input::get('company'),
            'created_at' => date('Y-m-d H:m:s'),
            'updated_at' => date('Y-m-d H:m:s')
        ));

        return Redirect::to('login')->with('message', 'Thank you for registering!');
    } else {
        return Redirect::to('register')
            ->with('message', 'The following errors occurred')
            ->withErrors($validator)
            ->withInput(Input::except('password'));
    }
}

删除User :: create()部分,重定向完全正常 . 刚开始我已经在我的用户模型中包含了可填充数组中的所有数据库字段 . 仍然无法正常工作 . 有任何想法吗?

1 回答

  • 1

    不是您问题的直接答案,而是您找到它的最快捷方式 .

    打开app.php

    enter image description here

    编辑此图片中的最后一行(在您的情况下)false为true:

    enter image description here

    完成后,laravel将告诉您错误是什么 .


    One error for sure is

    'password'   => Hash.make(Input::get('password')),
    

    应与 ::

    'password'   => Hash::make(Input::get('password')),
    

    你不需要这个:

    'created_at' => date('Y-m-d H:m:s'),
    'updated_at' => date('Y-m-d H:m:s')
    

    laravel会为你做这个!

    如果在此之后它不起作用,请尝试运行

    php artisan dump-autoload
    

    从您的终端生成优化的类加载器!

相关问题