2017-09-26 14 views
1

如何在Laravel中使用ModelFactory播種多行?在ModelFactory中播種多個自定義行/條目Laravel

裏面ModelFactory.php我有以下代碼:

$factory->define(App\User::class, function (Faker $faker) { 
    static $password; 

    return [ 
     'name' => 'Admin', 
     'Description' => 'Administrators have full access to everything.' 
    ]; 
}); 

我如何可以添加以下陣列,並且無需使用原始表達式?

[ 
    'name' => 'Admin', 
    'description' => 'Administrators have full access to everything.', 
], 
[ 
    'name' => 'User', 
    'description' => 'User have normal access.', 
], 

感謝

回答

0

比方說,你想在你的數據庫中添加100個用戶。

創建UserFactory.phpdatabase/factories

<?php 

use Faker\Generator as Faker; 

$factory->define(App\User::class, function (Faker $faker) { 

    return [ 
     'name' => 'Admin', 
     'Description' => 'Administrators have full access to everything.' 
    ]; 
}); 

然後,在database/seeds/DatabaseSeeder.php

<?php 

use Illuminate\Database\Seeder; 

class DatabaseSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     factory(App\User::class, 100)->create(); 
    } 
} 

你可以找到更多的細節about seeding in the Laravel official documentation

+0

但是這不允許您播種自定義數據,您有100個假數據條目。 – Nucleus

+1

如果您需要自定義數據,則必須將其全部「手動」寫入。 – louisfischer