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

王林
發布: 2024-07-16 20:33:12
原創
247 人瀏覽過

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!