Laravel Eloquent Create什么都不做

时间:2014-11-26 05:06:13

标签: php laravel eloquent

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

这是我的控制器功能:

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 个答案:

答案 0 :(得分:1)

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

打开app.php

enter image description here

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

enter image description here

完成后,laravel会告诉你错误是什么。


肯定有一个错误是

'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 
从终端

生成优化的类加载器!