首頁 >後端開發 >php教程 >創建 Laravel 工廠和播種機的快速指南

創建 Laravel 工廠和播種機的快速指南

王林
王林原創
2024-07-16 20:33:12358瀏覽

A Quick Guide to Creating Laravel Factories and Seeders

每當我需要為我的專案創建新的工廠和播種機時,無論它們是學習練習、業餘愛好項目還是實際應用程序,我經常會回到Laravel 文檔(每次都做同樣的動作感到無聊)。為了讓這個過程變得簡單,我決定建立一個指南,我可以在需要時參考,從而節省時間並避免需要搜尋大量文件。如果本指南對其他人有幫助,那就太好了!

假設我們有一個用戶/帖子關係,這意味著每個用戶可以有一個或多個帖子,並且每個帖子都屬於一個用戶。
什麼是工廠?

Laravel 中的工廠是一個為應用程式產生測試資料的類別。這對於本地開發和暫存環境很有用,提供了許多好處。 Laravel 允許您為您擁有的每個模型創建一個工廠。
什麼是播種者?

Laravel 中的 Seeders 用於使用種子類別向資料庫填充數據,這對於測試目的特別有用。
建造新工廠

要建立新工廠,請執行以下指令:

php artisan make:factory PostFactory

您將在database/factories目錄下找到您的工廠類別。這是定義工廠的範例:

public function definition(): array
{
    return [
        'title' => $this->faker->sentence,
        'content' => $this->faker->paragraph,
        'user_id' => User::factory(),
    ];
}

產生播種機

要建立新的播種器,請執行以下命令:

php artisan make:seeder PostSeeder

您將在database/seeders目錄下找到seeder類別。以下是此類中 run 函數的範例:

public function run(): void
{
    Post::factory()
        ->count(20)
        ->create();
}

在同一目錄中,您將找到 DatabaseSeeder 類別。確保它包含您所有的播種者:

public function run(): void
{
    // \App\Models\User::factory(10)->create();

    // \App\Models\User::factory()->create([
    //     'name' => 'Test User',
    //     'email' => 'test@example.com',
    // ]);

    $this->call([
        PostSeeder::class,
        ..,
        ..
    ]);
}

運行遷移並為資料庫播種

首先,執行資料庫遷移:

php artisan 遷移

然後,為資料庫播種:

php artisan db:seed

現在您已經有測試數據了。享受吧!

最初發佈在我的部落格上!

以上是創建 Laravel 工廠和播種機的快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn