每當我需要為我的專案創建新的工廠和播種機時,無論它們是學習練習、業餘愛好項目還是實際應用程序,我經常會回到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中文網其他相關文章!