2017-12-20 12 views
0

Ich möchte eine Methode in allen Modellen verwenden Ich habe versucht, unten Methoden, aber es funktioniert nicht, können Sie bitte helfen Sie mir, dies zu beheben.Laravel: Wie Parameter in Controller übergeben werden

habe ich die folgenden Verfahren Tests in Modell Benutzer:

public function testing($user) 
{ 
    $arr = []; 

    foreach ($user as $users) { 

     if ($users->RolePermission->isEmpty()) 
     { 
      return view('authorize'); 
     } 
     else 
     { 
      foreach($users->RolePermission as $permission) 
      { 
       return $arr[] = $permission->permission_id; 
      } 
     } 

    } 
} 

Ich möchte obige Verfahren in Homecontroller verwenden, aber ich weiß nicht, wie es funktioniert: ich in Homecontroller unten versucht. zum Beispiel:

public function checkRights() 
{ 
    $auth = Auth::user(); 
    $id = $auth->id; 
    $user = User::Where('id', $id)->with('RolePermission')->get(); 

//now here i want to use the method named testing 

    $user = User::::with('testing('.$user.')'); 

    return view('authorization',compact('user')); 
} 

Ich hat versucht, die Testfunktion mit obigem Code aber es funktioniert nicht zu verwenden.

Antwort

0

Deklarieren Sie die Methode testing als statisch:

public static function testing($user) 

Dann es so nennen:

$user = User::testing($user); 
+0

Dank Chef groß. –

Verwandte Themen