前提・実現したいこと
初めて質問させていただきます。
PHPフレームワーク Laravel入門を進めているのですが、エラーが解消できないため困っております。
現在はマイグレーションファイルを作成し、モデルを作成、シードを作成し実行するとエラーが出ます。
P291~
発生している問題・エラーメッセージ
php artisan db:seedを実行すると
Illuminate\Contracts\Container\BindingResolutionException
Target class [RestdataTableSeeder] does not exist.
該当のソースコード
PHP
1<?php 2 3use Illuminate\Support\Facades\Schema; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Database\Migrations\Migration; 6 7class CreateRestdataTable extends Migration 8{ 9 public function up() 10 { 11 Schema::create('restdata', function (Blueprint $table) { 12 $table->increments('id'); 13 $table->string('message'); 14 $table->string('url'); 15 $table->timestamps(); 16 }); 17 } 18 19 public function down() 20 { 21 Schema::dropIfExists('restdata'); 22 } 23} 24
PHP
1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Model; 6 7class Restdata extends Model 8{ 9 protected $table = 'restdata'; 10 protected $guarded = array('id'); 11 12 public static $rules = array( 13 'message' => 'required', 14 'url' => 'required' 15 ); 16 17 public function getData(){ 18 return $this->id . ':' . $this->message . '(' . $this->url . ')'; 19 } 20}
PHP
1<?php 2 3use Illuminate\Database\Seeder; 4use App\Models\Restdata; 5 6class RestdataTableSeeder extends Seeder 7{ 8 public function run(){ 9 $param = [ 10 'message' => 'Google Japan', 11 'url' => 'https://www.google.co.jp', 12 ]; 13 $restdata = new Restdata; 14 $restdata->fill($param)->save(); 15 16 $param = [ 17 'message' => 'Yahoo Japan', 18 'url' => 'https://www.yahoo.co.jp', 19 ]; 20 $restdata = new Restdata; 21 $restdata->fill($param)->save(); 22 23 $param = [ 24 'message' => 'MSN Japan', 25 'url' => 'https://www.msn.co.jp/ja-jp', 26 ]; 27 $restdata = new Restdata; 28 $restdata->fill($param)->save(); 29 } 30}
PHP
1<?php 2 3use Illuminate\Database\Seeder; 4 5class DatabaseSeeder extends Seeder 6{ 7 public function run() 8 { 9 $this->call(RestdataTableSeeder::class); 10 } 11}
試したこと
composer dump-autoloadは実行してみましたが、解消されませんでした。
Laravel Framework 8.35.1 使用
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー