問題描述
我想播種數據庫當我使用這個
I want to seed database when I use this
public function run()
{
$users = factory(appUser::class, 3)->create();
}
在數據庫中添加三個用戶但是當我使用這個
Add three user in database but when I use this
public function run()
{
$Comment= factory(appComment::class, 3)->create();
}
顯示錯誤
[無效參數異常]
無法找到名稱為 [default] [appComment] 的工廠.
[InvalidArgumentException]
Unable to locate factory with name [default] [appComment].
推薦答案
默認情況下,laravel 安裝在 database/factories/ModelFactory.php
文件中帶有此代碼.
By default the laravel installation comes with this code in the database/factories/ModelFactory.php
File.
$factory->define(AppUser::class, function (FakerGenerator $faker) {
return [
'name' => $faker->name,
'email' => $faker->email,
'password' => bcrypt(str_random(10)),
'remember_token' => str_random(10),
];
});
因此您需要先定義一個工廠模型,然后再使用它來為數據庫做種.這只是使用 Faker Library 的一個實例,它用于生成假數據以播種數據庫以執行測試.
So you need to define a factory Model before you use it to seed database. This just uses an instance of Faker Library which is used to generate fake Data for seeding the database to perform testing.
確保您已為評論模型添加了類似的模態工廠.
Make sure You have added a similar Modal Factory for the Comments Model.
所以你的評論模型工廠將是這樣的:
So your Comments Model Factory will be something like this :
$factory->define(AppComment::class, function (FakerGenerator $faker) {
return [
'comment' => $faker->sentence,
// Any other Fields in your Comments Model
];
});
這篇關于Laravel 5.2:無法找到名稱為 [默認] 的工廠的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!