Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel雄辩地呈现输入::获取值作为?_Php_Laravel 4_Eloquent - Fatal编程技术网

Php Laravel雄辩地呈现输入::获取值作为?

Php Laravel雄辩地呈现输入::获取值作为?,php,laravel-4,eloquent,Php,Laravel 4,Eloquent,我正在开发一个标准的用户登录系统,但这次真的有点奇怪 我从一个表单中获取输入,控制器应该对此进行验证。我使用Laravel的input::only方法将输入保存到$input变量中,所有内容都被保存,因为如果我使用var_dump$input,它将显示一个数组,其中包含我发布的精确值。但是,当我执行Auth::attempt$input时,即使数据库中有匹配的记录,我也一无所获 我尝试转储查询,结果如下: string 'select * from `users` where `login` =

我正在开发一个标准的用户登录系统,但这次真的有点奇怪

我从一个表单中获取输入,控制器应该对此进行验证。我使用Laravel的input::only方法将输入保存到$input变量中,所有内容都被保存,因为如果我使用var_dump$input,它将显示一个数组,其中包含我发布的精确值。但是,当我执行Auth::attempt$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'
我不知道怎么了,你遇到过这样的事吗?任何帮助都将不胜感激

编辑

我费劲地把问题进一步解释了一下,才发现了问题所在。如果我硬编码Auth::trunt传递的登录名和密码,那么问题是,不知何故Auth::trunt没有将输入作为字符串拾取……或者类似的内容根据Laravel Docs:


在您将$input传递给INTERT之前,您是否可以发布您的$input的var_export返回值?谢谢您的参与;这是var_导出:数组'login'=>'foobar','password'=>'foobar',@phobos2077 hmm…后面有一个逗号…这可能是问题所在吗?但如何摆脱它呢?o_OIs foobar密码正确吗?可能您的表单输入不正确。我100%确定,foobar是正确的密码…它不会将变量转换为eloquent生成的SQL查询,原因如下:/
if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
return Redirect::intended('dashboard');
}