所以我正在学习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()部分,重定向完全正常。首先,我在我的用户模型中包含了可填充数组中的所有数据库字段。仍然不起作用。有什么想法吗?
答案 0 :(得分:1)
不是您问题的直接答案,而是您找到它的最快捷方式。
打开app.php
编辑此图片中的最后一行(在您的情况下)false为true:
完成后,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
从终端生成优化的类加载器!