[英]Auth::user()->id wont work Laravel 5.2 / Trying to get property of non-object
i have 2 logins with different controller/model. 我有2个使用不同控制器/型号的登录名。 1 - for contender_user 2 - for enterprise_user.
1-for contender_user 2-对于enterprise_user。 Although they look totally identical in the file with the enterprise user i cant reach the id of the enterprise_user
尽管它们在文件中看起来与企业用户完全相同,但我无法获得enterprise_user的ID
File with no Error: 文件没有错误:
namespace App\\Http\\Controllers\\contender_user; use Illuminate\\Http\\Request; use Illuminate\\Support\\Facades\\DB; use Illuminate\\Support\\Facades\\Session; use Illuminate\\Support\\ServiceProvider; use App\\Http\\Requests; use App\\Http\\Controllers\\Controller; use App\\Models\\contender_user; use Illuminate\\Support\\Facades\\Auth; class contender_userController extends Controller { public function applications_contender_user_show () { return view('contender_user/applications'); } public function home_show () { $id = Auth::user()->id; $contender_user = new contender_user\\contender_userModel(); $results = $contender_user->get_user_all($id); return view('contender_user/home', array ( 'name' => $results[0]->name, 'email' => $results[0]->email, 'created_at' => $results[0]->created_at )); } }
File with Error: Line: $id = Auth::user()->id; 出现错误的文件:行:$ id = Auth :: user()-> id; Error: Trying to get property of non-object
错误:尝试获取非对象的属性
namespace App\\Http\\Controllers\\enterprise_user; use Illuminate\\Http\\Request; use Illuminate\\Support\\Facades\\DB; use Illuminate\\Support\\Facades\\Session; use Illuminate\\Support\\ServiceProvider; use Illuminate\\Support\\Facades\\Auth; use App\\Http\\Requests; use App\\Http\\Controllers\\Controller; use App\\Models\\enterprise_user; class enterprise_userController extends Controller { public function applications_show () { return view('enterprise_user/applications'); } public function home_show () { $id = Auth::user()->id; $enterprise_user = new enterprise_user\\enterprise_userModel(); $results = $enterprise_user->get_user_all($id); return view('enterprise_user/home', array ( 'name' => $results[0]->name, 'email' => $results[0]->email, 'created_at' => $results[0]->created_at ) ); }
When i Copy the working file it still comes to the error message :( 当我复制工作文件时,仍然出现错误消息:(
pls help 请帮助
对于Laravel 5.2,您可以通过以下方式获得经过身份验证的用户:
Auth::guard('user')->user()->id //guard can be user,admin etc depend on your settings
try this 尝试这个
public function home_show () {
if($id){
$enterprise_user = new enterprise_user\enterprise_userModel();
$results = $enterprise_user->get_user_all($id);
return view('enterprise_user/home', array
(
'name' => $results[0]->name,
'email' => $results[0]->email,
'created_at' => $results[0]->created_at
)
);
}
else{
///what ever you want to do
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.