2017-07-18 1 views
0

Ich habe 2 Logins mit verschiedenen Controller/Modell. 1 - für contender_user 2 - für enterprise_user.Auth :: user() -> ID wird nicht arbeiten Laravel 5.2/Versuchen, die Eigenschaft von Nicht-Objekt zu bekommen

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

    } 
} 
  • Datei mit Fehlern: Line: $ id Obwohl sie in der Datei mit dem Unternehmen Benutzer völlig identisch aussehen kann ich nicht die ID des enterprise_user

    1. Datei ohne Fehler erreichen = Auth :: Benutzer() -> ID; Fehler: Der Versuch, Eigentum von Nicht-Objekt zu erhalten

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

    Wenn ich die Arbeitsdatei Kopieren Sie es kommt immer noch auf die Nachricht Fehler :(

    pls help

  • +0

    verwenden Sie einen Schutz? –

    +0

    Überprüfen Sie Benutzersitzung vorhanden oder nicht (Auth :: check()) vor der Verwendung von Auth :: user() –

    +0

    '$ id = Auth :: id();' wird auch den Trick tun. – Chris

    Antwort

    0

    Für Laravel 5.2 können Sie erhalten authentifizierten Benutzer wie folgt:

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

    php storm sagt verwenden Methode "guard" nicht gefunden, obwohl ich die Zeile: Illuminate \ Support \ Facades \ Auth; – mbrech

    0

    versuchen Sie dies

    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 
    } 
    
    } 
    
    Verwandte Themen