- This is MovieFactory:
namespace Database\Factories;
use App\Models\Category;
use Illuminate\Database\Eloquent\Factories\Factory;
use Xylis\FakerCinema\Provider\Movie;
use Bezhanov\Faker\Provider\Avatar;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Movie>
*/
class MovieFactory extends Factory
{
/**
* The name of the factory`s corresponding model.
*
* @var string
*/
protected $model = Movie::class;
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
$this->faker->addProvider(new \Xylis\FakerCinema\Provider\Movie($this->faker));
$this->faker->addProvider(new \Bezhanov\Faker\Provider\Avatar($this->faker));
return [
'name' => $this->faker->movie,
'year' => $this->faker->Year(),
'image' => $this->faker->imageUrl,
'rating' => $this->faker->randomDigitNotNull(),
'price' => $this->faker->randomDigitNotNull(),
'issue_date' => NOW(),
'category_id' => Category::inRandomOrder()->value('id'),
'overview' => $this->faker->overview,
];
}
}
- This is MovieSeeder:
namespace Database\Seeders;
use App\Models\Category;
use App\Models\Movie;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class MovieSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Movie::factory()->times(10)->create();
}
}
- And These error I`m getting:
Faker\Provider\Base::__construct(): Argument #1 ($generator) must be of type Faker\Generator, array given, called in /var/www/movie.loc/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factories/Factory.php on line 713
at vendor/fakerphp/faker/src/Faker/Provider/Base.php:22
18в–• * @var \Faker\UniqueGenerator
19в–• */
20в–• protected $unique;
21в–•
вћњ 22в–• public function __construct(Generator $generator)
23в–• {
24в–• $this->generator = $generator;
25в–• }
26в–•
+3 vendor frames
4 database/seeders/MovieSeeder.php:20
Illuminate\Database\Eloquent\Factories\Factory::create()
+8 vendor frames
13 database/seeders/DatabaseSeeder.php:22
Illuminate\Database\Seeder::call()