2017-11-08 22 views
0

Ich versuche, Rollen und Erlaubnis auf Laravel 5.5 mit Entrust anzuwenden.Laravel 5.5 und Entrust

ich verwendet, um dieses, wie die Dokumentation innerhalb der: App \ models \ Role.php

<?php namespace App; 

use Zizaco\Entrust\EntrustRole; 

class Role extends EntrustRole 
{ 

    $owner = new Role(); 
    $owner->name   = 'owner'; 
    $owner->display_name = 'Project Owner'; // optional 
    $owner->description = 'User is the owner of a given project'; // optional 
    $owner->save(); 

    $admin = new Role(); 
    $admin->name   = 'admin'; 
    $admin->display_name = 'User Administrator'; // optional 
    $admin->description = 'User is allowed to manage and edit other users'; // optional 
    $admin->save(); 

    $manager = new Role(); 
    $manager->name   = 'manager'; 
    $manager->display_name = 'Company Manager'; // optional 
    $manager->description = 'User is a manager of a Department'; // optional 
    $manager->save(); 
} 

?> 

, aber wenn ich versuche Rolle einem Benutzer zuzuordnen ich dieses Problem Empfang:

{ 
.. 
$owner = new Role(); 
$owner->name = 'owner'; 
... 
} 

"Parse error: syntax error, unexpected '$owner' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST)" 

Können Sie mir bitte raten?

+0

wo weisen Sie dem Benutzer die Rolle zu? – madalinivascu

+0

Innerhalb eines Controllers mit einer Post-Methode - das E-Mail-Konto des Benutzers $ admin = \ App \ Role :: find (2); \t \t $ user = Benutzer :: wo ('email', '=', '[email protected]') -> first(); // Rolle anhängen Alias ​​ $ user-> attachRole ($ admin); // Parameter kann ein Role-Objekt, ein Array oder eine ID sein // oder die ursprüngliche Technik von eloquent $ user-> roles() -> attach ($ admin-> id); // id only – tphil

+0

Wo ist die Besitzervariable in dem, was Sie im Kommentar gepostet haben? – madalinivascu

Antwort

0

Wie wäre es mit einer Funktion/Methode? ;)

<?php namespace App; 

use Zizaco\Entrust\EntrustRole; 

class Role extends EntrustRole 
{ 

public function setup() 
{ 
    $owner = new Role(); 
    $owner->name   = 'owner'; 
    $owner->display_name = 'Project Owner'; // optional 
    $owner->description = 'User is the owner of a given project'; // optional 
    $owner->save(); 

    $admin = new Role(); 
    $admin->name   = 'admin'; 
    $admin->display_name = 'User Administrator'; // optional 
    $admin->description = 'User is allowed to manage and edit other users'; // optional 
    $admin->save(); 

    $manager = new Role(); 
    $manager->name   = 'manager'; 
    $manager->display_name = 'Company Manager'; // optional 
    $manager->description = 'User is a manager of a Department'; // optional 
    $manager->save(); 
} 
}