2016-11-09 41 views
1

我想創建一個表,只保存10行的數據。我怎樣才能通過Laravel 5.3中的migration在laravel中創建具有幾行遷移的表

+0

你可以給我們更多關於你想要完成的信息嗎?你想要一張僅保存10行數據的表格嗎? – Jackowski

+0

是的,我想創建一個僅保存10行數據的表格 –

+0

在堆棧溢出中,請確保您先嚐試自己。發佈您嘗試過的代碼,並說出爲什麼它不起作用。 –

回答

1

Laravel 5.3提供s seeding,還與model factories結合。我猜你正在使用Eloquent模型而不是查詢生成器。

模型廠

這裏從Laravel(https://laravel.com/docs/5.3/seeding#using-model-factories)的示例

factory(App\User::class, 10)->create(); 

此代碼創建通過用戶鋒模型10個假用戶。假冒用戶的聲明可以在database/factories/ModelFactory.php中完成。

播種

再次,從Laravel(https://laravel.com/docs/5.3/seeding#writing-seeders)的部分的例子。您可以直接從現有的DatabaseSeeder調用模型工廠(不需要創建新的播種器)。

<?php 

use Illuminate\Database\Seeder; 
use Illuminate\Database\Eloquent\Model; 

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

運行

  • php artisan db:seed種子在現有的表結構
  • php artisan migrate:refresh --seed的數據完全重建數據庫和運行播種機

完整的文檔和示例,請參見提供上面的鏈接。

0

沒有這樣的限制。您可以照常創建表格,只需添加10行。如果您要求在表中添加10行,請閱讀seeding

此外,如果您只有10個簡單行,請考慮使用config file。你可以做這樣的事情:

'my-data' => [ 
    1 => ['name' => 'John', 'age' => 30], 
    2 => ['name' => 'Alan', 'age' => 40], 
    .... 
], 

,如果你想有一個虛擬數據填充到你的表沒有任何麻煩,你可以通過fzaninotto採取使用Faker Package訪問與config('my-config.my-data')

0

這個數據。 過程會像

通過在終端中運行以下命令(從項目的根目錄)安裝攤販:

composer require fzaninotto/faker 

然後在你的routes.php你可以把這樣的虛擬條目:

// Just for an example I am using route to demonstrate the general use 
Route::get('/customers',function(){ 
    $faker = Faker\Factory::create(); 

    $limit = 10; // this value sets number of rows to be created 

    // generate data by accessing properties 
    for ($i = 0; $i < $limit; $i++) { 
     User::create([ 
      'name' => $faker->name, 
      'email' => $faker->email, 
      'phoneNumber' => $faker->phoneNumber, 
     ]); 
    } 
}); 

這將在您的表中創建總計10行與一些虛擬數據..希望這可以幫助