【環境】
php 7.4.16
Laravel 6.20.44
Laravelを勉強しています。
seederを使ってダミーデータを登録したいです。
コードを記述して
php artisan db:seedを実行すると下記のエラーが出てきます。
調べても英語の記事ばかりで解決法が分からなかったので質問しました。
エラーコード
InvalidArgumentException : Unable to locate factory with name [default] [App\Models\Product].
Product.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Product extends Model { // protected $table = 'products'; protected $fillable = [ 'title', 'price', 'stock', 'maker' ]; }
create_productslist_table.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Product extends Model { // protected $table = 'products'; protected $fillable = [ 'title', 'price', 'stock', 'maker' ]; }
DatabaseSeeder.php
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { // $this->call(UsersTableSeeder::class); $this->call(ProductslistTableSeeder::class); } }
ProductsFactory.php
<?php /** @var \Illuminate\Database\Eloquent\Factory $factory */ use App\Models\Product; use Faker\Generator as Faker; $factory->define(Product::class, function (Faker $faker) { return [ 'title' => $faker->word, 'price' => $faker->numberBetween(100,1000), 'stock' => $faker->numberBetween(0,100), 'maker' => $faker->company ]; });
ProductsTableSeeder.php
<?php use Illuminate\Database\Seeder; use App\Models\Product; class ProductslistTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { factory(Product::class, 15)->create(); } }
0 コメント