2016-11-09 4 views
1

データを10行だけ保存するテーブルを作成したいとします。 Laravel 5.3のmigrationでどうすればいいですか?laravelでマイグレーション中に数行のテーブルを作成する

+0

あなたが達成しようとしていることについてもっと詳しくお知らせください。 10行のデータしか保存しないテーブルが必要ですか? – Jackowski

+0

はい、10行のデータしか保持しないテーブルを作成したい –

+0

スタックオーバーフローでは、まず自分で試してみてください。あなたが試したコードを投稿し、なぜそれがうまくいかなかったのかを伝えてください。 –

答えて

1

Laravel 5.3提供s seedingmodel 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行追加するだけです。 hwoにテーブルに10行を追加するように頼んだら、約seedingを読んでください。

    単純な行が10個ある場合は、そのためにconfig fileを使用することを検討してください。あなたが任意の手間をかけずにあなたのテーブルに充填するためのダミーデータをたい場合はfzaninottoによってFaker Packageの使用を取ることができ

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

    そして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行を作成します..これが役立つことを願って

    関連する問題