2015-03-31 4 views
0

Я работаю над стандартной системой входа в систему, но на этот раз что-то действительно странно.Laravel eloquent presenting Вход :: получить значения как?

Я получаю ввод от формы, которую должен проверить контроллер. Я сохраняю вход с помощью метода Input :: only() Laravel в переменной $ input, и все сохраняется, потому что если я var_dump ($ input), он отображает массив с точными значениями, которые я получил POST-ed. Но когда я делаю Auth :: try ($ input), даже если в базе данных есть соответствующая запись, я ничего не получаю.

Я попытался демпинг запрос и это то, что я получаю:

string 'select * from `users` where `login` = ? limit 1' (length=47) 

Это то, что мой метод выглядит следующим образом:

public function store() 
{ 
    $input = Input::only('login', 'password'); 

    // return $input; 

    if (Auth::attempt($input)) { 
     return View::make('pages.admin'); 
    } 

    else{ 
     return 'nope!'; 
    } 
} 

Я также пытался делать проверку вручную, сохраняя входы в их соответствующие переменные и их выбор через

$user = User::where('login', '=', $login) 
    ->where('password', '=', $password) 
    ->firstOrFail(); 

и запрос, который я сбросил, Это

'select * from `users` where `login` = ? and `password` = ? limit 1' 

Я понятия не имею, что с этим не так, вы столкнулись с чем-то подобным? Любая помощь приветствуется.

EDIT

Я определил проблему troublehooting его furtherly. Если я жестко привязываю логин и пароль, которые пропускают Auth :: попытка(), то проблема заключается в том, что как-то Auth :: попытка() не выбирает ввод как строку, вероятно ... или что-то вроде этого

+0

Можете ли вы пост, что var_export возвращает для вашего $ ввода только до передачи его попытки()? – phobos2077

+0

вашего, спасибо за участие; это var_export: массив ('login' => 'foobar', 'password' => 'foobar',) – allisius

+0

@ phobos2077 хм ... после этого есть запятая ... может это проблема? Но как избавиться от этого? o_O – allisius

ответ

0

Согласно Laravel Docs Security:

if (Auth::attempt(array('email' => $email, 'password' => $password))) 
{ 
return Redirect::intended('dashboard'); 
} 
Смежные вопросы