」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 創建 Laravel 工廠和播種機的快速指南

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

發佈於2024-07-29
瀏覽:299

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' => '[email protected]',
    // ]);

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

運行遷移並為資料庫設定種子

首先,運行資料庫遷移:

php artisan 遷移

然後,為資料庫播種:

php artisan db:seed

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

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

版本聲明 本文轉載於:https://dev.to/bn_geek/a-quick-guide-to-creating-laravel-factories-and-seeders-3o09?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3