Laravel8でテストデータをDBに挿入する際に、Factory,Seederを用いて作成しようと思いました。
errorは出ず読み込まれるのですが、DBに反映されませんでした。どなたかご指摘いただけいただけないでしょうか。
よろしくお願いいたします。
モデル
php
1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7 8class db_model extends Model 9{ 10 use HasFactory; 11 protected $table = 'staff'; 12 13 protected $fillable = 14 [ 15 'password', 16 'staffName', 17 ]; 18}
Factory
php
1<?php 2 3namespace Database\Factories; 4 5use App\Models\Model; 6use Illuminate\Database\Eloquent\Factories\Factory; 7 8class db_test_Factory extends Factory 9{ 10 /** 11 * The name of the factory's corresponding model. 12 * 13 * @var string 14 */ 15 protected $model = \app\Models\db_model::class; 16 17 /** 18 * Define the model's default state. 19 * 20 * @return array 21 */ 22 public function definition() 23 { 24 return [ 25 'password' => $this->faker->word, 26 'staffName' => $this->faker->word 27 ]; 28 } 29}
作成したseedersファイル
php
1<?php 2 3namespace Database\Seeders; 4 5use Illuminate\Database\Seeder; 6use \app\Models\db_model; 7 8class db_test_seeder extends Seeder 9{ 10 /** 11 * Run the database seeds. 12 * 13 * @return void 14 */ 15 public function run() 16 { 17 \app\Models\db_model::factory()->count(10)->create(); 18 } 19}
DatabaseSeeder.php
php
1<?php 2 3namespace Database\Seeders; 4 5use Illuminate\Database\Seeder; 6 7class DatabaseSeeder extends Seeder 8{ 9 /** 10 * Seed the application's database. 11 * 12 * @return void 13 */ 14 public function run() 15 { 16 // \App\Models\User::factory(10)->create(); 17 $this->call 18 (db_test_seeder::class); 19 } 20}
どのように実行されたのか、操作手順も含めてご提示ください。
あなたの回答
tips
プレビュー