2017-03-11 2 views
0

Ich versuche, Benutzerrollen in Laravel mit Paket Entrust zu implementieren. Ich folgte den Anweisungen auf dem Youtube-Tutorial und alles lief gut, bis ich versuchte, die Datenbank zu säen.Implementieren Benutzerrollen in Laravel

Ich habe folgende Fehlermeldung:

[ReflectionException]
Class RoleTableSeeder does not exist

DatabaseSeeder

use Illuminate\Database\Seeder; 

class DatabaseSeeder extends Seeder 
{ 
    /** 
     * Run the database seeds. 
     * 
     * @return void 
     */ 

     public function run() 
     { 
     $this->call(RoleTableSeeder::class); 
     $this->call(UserTableSeeder::class); 
     } 
} 

UserTableSeeder

use Illuminate\Database\Seeder; 
use App\User; 
use App\Role; 

class UserTableSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     $role_user = Role::where('name', 'User')->first(); 
     $role_author = Role::where('name', 'Author')->first(); 
     $role_admin = Role::where('name', 'Admin')->first(); 

     $user = new User(); 
     $user->first_name = 'Victor'; 
     $user->last_name = 'Visitor'; 
     $user->email = '[email protected]'; 
     $user->password = bcrypt('visitor'); 
     $user->save(); 
     $user->roles()->attach($role_user); 

     $admin = new User(); 
     $admin->first_name = 'Alex'; 
     $admin->last_name = 'Admin'; 
     $admin->email = '[email protected]'; 
     $admin->password = bcrypt('admin'); 
     $admin->save(); 
     $admin->roles()->attach($role_admin); 

     $author = new User(); 
     $author->first_name = 'Andy'; 
     $author->last_name = 'Author'; 
     $author->email = '[email protected]'; 
     $author->password = bcrypt('author'); 
     $author->save(); 
     $author->roles()->attach($role_author); 
    } 
} 

RoleTableSeeder

use Illuminate\Database\Seeder; 
use App\Role; 

class RoleTableSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     $role_user = new Role(); 
     $role_user->name = 'User'; 
     $role_user->description = 'A normal User'; 
     $role_user->save(); 

     $role_author = new Role(); 
     $role_author->name = 'Author'; 
     $role_author->description = 'An Author'; 
     $role_author->save(); 

     $role_admin = new Role(); 
     $role_admin->name = 'Admin'; 
     $role_admin->description = 'A Admin'; 
     $role_admin->save(); 
    } 
} 
+0

Haben Sie einen Kommentar ausgeführt oder beim Laden der Seite haben Sie "Class RoleTableSeeder existiert nicht" Fehler? – Muthu17

+0

wenn ich 'php artisan db: Seed' Terminal zeigt diesen Fehler '[ReflectionException] Klasse RoleTableSeeder existiert nicht' –

+0

Versuchen Sie, Composer Dump-Autoload und den gleichen Befehl erneut ausführen und was ist das Ergebnis? – Muthu17

Antwort

1

Schritt 1: Fügen (oder Scheck) Ihre RoleTableeSeeder.php in DatabaseSeeder.php [Stellen Sie sicher, Ihre Klassennamen identisch sind]

Schritt 2: Starten: Komponist Dump-Autoload

Schritt 3: Führen Sie PHP Artisan db: Seed

Wird Ihr Problem lösen.

Verwandte Themen