使用不同的表来验证laravel 5中的用户

时间:2015-10-26 17:36:31

标签: php laravel-5

我在mysql中创建了名为subscriber的单独表,将config / auth.php设置更改为'model'=> App \ Subscribers :: class,'table'=> “用户”。 我在主页上有登录表单,提交到主页。 所以我在下面的路线

Route::get('/', function () {
    return view('home');
});

Route::post('/', 'LoginController@validate');

我的LoginController

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
    public function validate()
    {
        // attempt to do the login
        $auth = Auth::attempt(
            [
                'email'  => strtolower(Input::get('email')),
                'password'  => Hash::make(Input::get('password'))
            ]
        );
        if ($auth) {
            return Redirect::to('dashboard');
        }

    }
}

当我登录时,我得到以下错误

App \ Http \ Controllers \ LoginController :: validate()声明应该与App \ Http \ Controllers \ Controller :: validate兼容(Illuminate \ Http \ Request $ request,array $ rules,array $ messages = Array, array $ customAttributes = Array)

1 个答案:

答案 0 :(得分:1)

您不能使用'validate'作为函数的名称。它会与以下内容发生冲突:

App\Http\Controllers\Controller::validate

同时在if语句中添加'else',因此如果您的身份验证失败,您可以将用户重定向回登录屏幕。