Issue
I want to seed database when I use this
public function run()
{
$users = factory(app\User::class, 3)->create();
}
Add three user in database but when I use this
public function run()
{
$Comment= factory(app\Comment::class, 3)->create();
}
Show me error
[InvalidArgumentException]
Unable to locate factory with name [default] [app\Comment].
Solution
By default the laravel installation comes with this code in the database/factories/ModelFactory.php File.
$factory->define(App\User::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name,
'email' => $faker->email,
'password' => bcrypt(str_random(10)),
'remember_token' => str_random(10),
];
});
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(App\Comment::class, function (Faker\Generator $faker) {
return [
'comment' => $faker->sentence,
// Any other Fields in your Comments Model
];
});
Answered By - Mohan
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.