简体   繁体   English

Auth :: user()-> id无法正常工作Laravel 5.2 /试图获取非对象的属性

[英]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

  1. 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 )); } } 
  2. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM