你能帮我解决这个问题吗?我正在使用Laravel创建自己的登录过程。顺便说一句,我在Laravel还是新手,而且我真的没有足够的知识。
我的场景是我在控制器内创建了一个带有参数的代码,可以访问模型函数。此模型函数将查找数据库中的用户数据是否正确或匹配。但我还没有创造它。我只是想看看我的参数中的数据是否可以在模型中访问。
问题出在模型中我无法访问参数值。
这是我的代码:
在我的控制器中
public function login() {
$rules = array(
'employee_id' => 'required',
'employee_password' => 'required'
);
$validate_login = Validator::make(Input::all(), $rules);
if($validate_login->fails()) {
$messages = $validate_login->messages();
return Redirect::to('/')->withErrors($messages);
} else {
$userdata = array(
'id' => Input::get('employee_id'),
'password' => Hash::make(Input::get('employee_password'))
);
$validateDetail = Employee::ValidateLogin($userdata); //pass parameter to model
}
}
这是模型功能
public function scopeValidateLogin($data)
{
fd($data); //fd() is my own custom helper for displaying array with exit()
}
在scopeValidateLogin()函数中,我打算使用Query Builder来验证登录。
这是我的路线
Route::model('employee','Employee');
Route::get('/','EmployeesController@index');
Route::get('/register', 'EmployeesController@register');
Route::post('/login','EmployeesController@login');
Route::post('/handleRegister', function()
{
$rules = array(
'emp_code' => 'numeric',
'lastname' => 'required|min:2|max:15',
'firstname' => 'required|min:2|max:20',
'middlename' => 'min:1|max:20',
'password' => 'required|min:8|max:30',
'cpassword' => 'required|same:password'
);
$validate_register = Validator::make(Input::all(), $rules);
if($validate_register->fails()) {
$messages = $validate_register->messages();
return Redirect::to('register')
->withErrors($messages)
->withInput(Input::except('password','cpassword'));
} else {
$employee = new Employee;
$employee->emp_code = Input::get('emp_code');
$employee->lastname = Input::get('lastname');
$employee->firstname = Input::get('firstname');
$employee->middlename = Input::get('middlename');
$employee->gender = Input::get('gender');
$employee->birthday = Input::get('birthday');
$employee->password = Hash::make(Input::get('password'));
$employee->save();
Session::flash('success_notification','Success: The account has been successfully created!');
return Redirect::action('EmployeesController@index');
}
}
);
现在运行fd($ data)后,我的浏览器加载了一系列数组,然后就会崩溃。 我不知道发生了什么,但我认为它正在向我的模型发送多个请求。
我是否以正确的方式访问控制器内的模型?或者有这方面的最佳方法吗?
答案 0 :(得分:0)
您正在错误地使用MVC框架。您应该使用模型内部的方法来评估控制器内部的输入和登录。