ホームページ > バックエンド開発 > PHPチュートリアル > [laravel5.1-0.0.6] Seederはテストデータを自動的に入力します

[laravel5.1-0.0.6] Seederはテストデータを自動的に入力します

WBOY
リリース: 2016-06-23 13:24:35
オリジナル
1058 人が閲覧しました

Jianshu: http://www.jianshu.com/users/85c8826ce087/latest_articles

1. Seeder とは何ですか?
  • はデータフィラーツールです。

  • laravel には、database/seeds/DatabaseSeeder.php クラスが付属しています。

  • コマンドを使用して、ファイルが database/seeds/ の下に生成されます。シーダーは何に使用されますか?

バッチ テスト データを自動的に生成します。
  • 共同開発を容易にするために、テーブルの移行後に一連のデータを自動的にインポートできます。データ生成コマンドの実行中に呼び出されます。
  • 3 つのデータベース操作メソッドはすべて run() メソッドで使用できます
  • 戻り値はありません

  • 4. Seeder の使用法
  • 4.1 基本的な使用法

  • データを埋めるには、database/seeds/DatabaseSeeder.php にコンテンツを入力します。

run() メソッドは、(SQL ステートメントを使用して) 記事テーブルのデータ コンテンツを入力します。ディレクトリで php 職人 db:seed コマンドを実行します。プロンプトが表示されない場合は、次のようにレコードが生成されます。

  • 4.2 フィラーを個別に生成し、

  • を使用します。新しい塗りつぶしクラスを作成します:

  • <?phpuse Illuminate\Database\Seeder;use Illuminate\Database\Eloquent\Model;class DatabaseSeeder extends Seeder{    /**     * Run the database seeds.     *     * @return void     */      public function run()        {                Model::unguard();                // $this->call(UserTableSeeder::class);           Model::reguard();        }}
    ログイン後にコピー
  • database/seeds/DatabaseSeeder クラスに以前に記述した insert ステートメントを、database/seeds/ArticleTableSeeder クラスの run() メソッドに切り込みます

run( DatabaseSeeder クラスの ) メソッドで、call メソッドを使用して必要な実行フィラー クラスを取得します。

フィラーの実行:


  • 4.3 フィラーの実行

  • コマンド:

    public function run()    {       DB::insert('insert into                    articles(title, content,created_at,updated_at)                            values (?, ?,?,?)',                      ['article-title2','article-content2',                  \Carbon\Carbon::now(),\Carbon\Carbon::now()]                  );    }
ログイン後にコピー

    フィラーを単独で実行するには、 --class=ArticleTableSeeder
  • を追加します

    php artisan make:seeder ArticleTableSeeder
    ログイン後にコピー

データをロールバックして再実行します移行
  • public function run(){    $this->call(ArticleTableSeeder::class);}
    ログイン後にコピー
    4.4 バッチ処理の高速化 本番データのモデルファクトリー
  • モデルファクトリーについてはさらに説明する必要があります:
  • http://laravelacademy.org/post/238.html#model-factories
  • Laravel の学習アカデミーノート: http://laravelacademy.org /post/133.html

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート