我是Laravel的初学者。
我想用:
Auth::login(users::find(1))
结果: 输入错误:
传递给Illuminate \ Auth \ SessionGuard :: login()的参数1必须是 Illuminate \ Contracts \ Auth \ Authenticatable的实例,实例 App \用户
我更改了模型以扩展Authenticatable而不是Model 。 我还将Auth语句更改为:
Auth::login(users::where('id', 1))
结果: 输入错误:
传递给Illuminate \ Auth \ SessionGuard :: login()的参数1必须 实现接口Illuminate \ Contracts \ Auth \ Authenticatable, 给出了Illuminate \ Database \ Eloquent \ Builder的实例
我想知道你是否愿意帮助我,以及#39;欣赏'
答案 0 :(得分:2)
您应该在用户Model类中实现Illuminate \ Contracts \ Auth \ Authenticatable以通过Auth :: login
验证用户实例
如果您需要将现有用户实例记录到您的应用程序中, 您可以使用用户实例调用login方法。给定的对象 必须是一个实现 照亮\合同\ Auth \ Authenticatable合同。当然, Laravel附带的App \ User模型已经实现了这一点 接口:
验证::登录($用户);
https://laravel.com/docs/5.1/authentication
或者你可以这样做:
Auth::loginUsingId(1);