2016-05-30 14 views
0

Ich habe eine App in Laravel entwickelt (und ich verwendet, um dieses Plugin Rollen/Berechtigungen https://github.com/Zizaco/entrust hinzufügen)Gibt es eine initalSetup() Funktion oder etwas ähnliches in Laravel?

ich die App verwendet wird nur das erste Mal einige grundlegende Daten für meine Anwendung in Laravel erstellen müssen (einige Rollen und Berechtigungen), sollten diese Daten nicht jedes Mal erstellt werden.

Ich konnte eine Funktion oder ein Ereignis nicht finden, das ich verwenden könnte. Im Versuch zu tun zu vermeiden: durch die Schaffung einer Einzelkornsämaschine

if(role is not created) 
    create it 
else 
    do nothing 
+0

Wenn Sie über das Seeding sprechen, dann lesen Sie die [Dokumentation] (https://laravel.com/docs/5.1/seeding) – Rifki

+0

Wenn Sie über die Verwendung von mysql cli sprechen, dann lesen Sie das [grundlegende Tutorial] (https : //www.digitalcocean.com/community/tutorials/a-basic-mysql-tutorial) _ (auf keinen Fall, Seeding viel einfacher) _ – Chay22

Antwort

1

Zur Einrichtung grundlegende App-Daten oder Impfen Start:

php artisan make:seeder RolesTableSeeder 

Es wird database/seeder/RolesTableSeeder.php erzeugen, öffnen Sie die Datei dann Ihre ersten Rollen einzufügen, ist hier das Beispiel:

use Illuminate\Database\Seeder; 

class RolesTableSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     DB::table('roles')->truncate(); 

     $roles = [ 
      [ 
       'id' => 1, 
       'name' => 'Administrator', 
       'slug' => 'admin', 
       'created_at' => \Carbon\Carbon::now(), 
       'updated_at' => \Carbon\Carbon::now(), 
      ], 
      [ 
       'id' => 2, 
       'name' => 'Moderator', 
       'slug' => 'moderator', 
       'created_at' => \Carbon\Carbon::now(), 
       'updated_at' => \Carbon\Carbon::now(), 
      ], 
     ]; 

     DB::table('roles')->insert($roles); 
    } 
} 

dann die Sämaschine auf DatabaseSeeder Klasse registrieren:

public function run() 
{ 
    ... 

    $this->call(RolesTableSeeder::class); 
} 

Schließlich php artisan db:seed ausführen, das gleiche für andere Tabellen tun.

Wenn Sie gefälschte Daten wie gefälschte Benutzer für Testzwecke einfügen möchten, verwenden Sie model factories.

Verwandte Themen