2017-07-18 139 views
0

我有2个登录与不同的控制器/模型。对于contender_user 2 - for enterprise_user。 虽然它们看起来与企业用户的文件完全相同,我不能达到enterprise_user的IDAuth :: user() - > id不会工作Laravel 5.2 /试图获取非对象的属性

  1. 文件,没有错误:

    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. 文件有错误: 行:$ ID = Auth :: user() - > id; 错误:试图当我复制它还是对错误信息的工作文件,以获得非对象

    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 
         ) 
        ); 
    
    } 
    

的财产:(

请帮助

+0

你使用任何警卫? –

+0

在使用Auth :: user()之前检查用户会话是否存在(Auth :: check()) –

+0

'$ id = Auth :: id();'也会有效。 – Chris

回答

0

对于Laravel 5.2可以获得认证的用户如下:

Auth::guard('user')->user()->id //guard can be user,admin etc depend on your settings 
+0

php风暴说使用方法“守卫”没有找到我也有线:使用Illuminate \ Support \ Facades \ Auth; – mbrech

0

试试这个

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 
} 

} 
相关问题