2016-05-30 4 views
0

私はLaravelでアプリを開発している(と私は役割/権限https://github.com/Zizaco/entrustを追加するには、このプラグインを使用)laravelにinitalSetup()関数などがありますか?

私はいくつかの役割(Laravelに私のアプリのためのアプリが使用されている初回のみいくつかの基本的なデータを作成する必要がありますおよびアクセス許可)、このデータは毎回作成されるべきではありません。

私が使用できる機能やイベントが見つかりませんでした。 イムがやって避けるようにしよう:セットアップ基本的なアプリデータへ

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

[ドキュメント](https://laravel.com/docs/5.1/seeding) – Rifki

答えて

1

やシーダを作成することによって開始を播種:

php artisan make:seeder RolesTableSeeder 

それはあなたの最初の役割を挿入し、その後、database/seeder/RolesTableSeeder.phpを生成し、そのファイルを開きます、ここれます例:次に

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

DatabaseSeederクラスにシーダを登録します。

public function run() 
{ 
    ... 

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

最後にphp artisan db:seedを実行し、他のテーブルでも同じ操作を行います。

テスト目的で偽のユーザーなどの偽のデータを挿入する場合は、model factoriesを使用してください。

関連する問題