:環境 Windows WSL2 Ubuntu Laravel sail Laravelは8.x 起動コンテナは
Creating example-app_selenium_1 ... done Creating example-app_mailhog_1 ... done Creating example-app_meilisearch_1 ... done Creating example-app_mysql_1 ... done Creating example-app_redis_1 ... done Creating example-app_laravel.test_1 ... done
Class "app\Models\Task" not found at database/seeders/TasksTableSeeder.php:18 14▕ */ 15▕ public function run() 16▕ { 17▕ for ($i = 1; $i <= 10; $i++){ ➜ 18▕ Task::create([ 19▕ 'title' => 'title' . $i, 20▕ 'content'=> 'content' . $i, 21▕ 'person_in_charge'=>'person_in_charge' . $i, 22▕ ]);
https://qiita.com/minato-naka/items/0e709cb0e6628c82c1c5
このサイトをやっています。
sail artisan migrate --seedを実行したら上記のようなエラーが出てしまいました。参考サイトはsqliteで私はMySQLを利用しようとしています。
.env↓
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:WtPq5taa9lKLsYIXXHuTkDO9Tr46AhI3mnj7jpFysm4= APP_DEBUG=true APP_URL=http://example-app.test LOG_CHANNEL=stack LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=自分のアプリ名 DB_USERNAME=sailデフォルト DB_PASSWORD=sailデフォルト
エラー該当の
TasksTableSeeder.php
1<?php 2 3namespace Database\Seeders; 4 5use app\Models\Task; 6use Illuminate\Database\Seeder; 7 8class TasksTableSeeder extends Seeder 9{ 10 /** 11 * Run the database seeds. 12 * 13 * 14 */ 15 public function run() 16 { 17 for ($i = 1; $i <= 10; $i++){ 18 Task::create([ 19 'title' => 'title' . $i, 20 'content'=> 'content' . $i, 21 'person_in_charge'=>'person_in_charge' . $i, 22 ]); 23 } 24 } 25} 26 27
DatabaseSeeder.php
1<?php 2 3namespace Database\Seeders; 4 5use app\Models\Task; 6use Illuminate\Database\Seeder; 7use Illuminate\Support\Facades\DB; 8 9 10class DatabaseSeeder extends Seeder 11{ 12 /** 13 * Seed the application's database. 14 * 15 * @return void 16 */ 17 public function run() 18 { 19 // \App\Models\User::factory(10)->create(); 20 $this->call(TasksTableSeeder::class); 21 } 22}
create_tasks_table.php
1<?php 2 3use Illuminate\Database\Migrations\Migration; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Support\Facades\Schema; 6 7class CreateTasksTable extends Migration 8{ 9 protected $connection = 'mysql'; 10 /** 11 * Run the migrations. 12 * 13 * @return void 14 */ 15 public function up() 16 { 17 Schema::connection('mysql')->create('tasks', function (Blueprint $table) { 18 $table->bigIncrements('id'); 19 $table->string('title', 100); 20 $table->string('content', 100); 21 $table->string('person_in_charge', 100); 22 $table->timestamps(); 23 }); 24 25 Schema::create('tasks', function(Blueprint $table){ 26 $table->engine = 'InnoDB'; 27 }); 28 29 Schema::create('tasks', function(Blueprint $table){ 30 $table->charset = 'utf8mb4'; 31 $table->collation = 'utf8mb4_unicode_ci'; 32 }); 33 } 34 35 /** 36 * Reverse the migrations. 37 * 38 * @return void 39 */ 40 public function down() 41 { 42 Schema::dropIfExists('tasks'); 43 } 44} 45
Task.php
1<?php 2 3namespace app\Models\Task; 4 5 6use Illuminate\Database\Eloquent\Model; 7 8 9class Task extends Model 10{ 11 protected $connection ='mysql'; 12 protected $fillable = [ 13 'title', 14 'content', 15 'person_in_charge', 16 ]; 17}
やったこと・分からないこと
・personがpesonになっていた誤字を修正
・Laravel8.xでの変更点かと思い
DatabaseSeeder.php
1use Illuminate\Support\Facades\DB; 2```を追記しました。 3 4・マイグレーションなのでhttps://readouble.com/laravel/8.x/ja/migrations.htmlを読みましたが、 5```ここに言語を入力 6/** 7 * マイグレーションが使用するデータベース接続 8 * 9 * @var string 10 */ 11protected $connection = 'pgsql'; 12 13/** 14 * マイグレーションの実行 15 * 16 * @return void 17 */ 18public function up() 19{ 20 // 21} 22
これをどのファイルに書けばいいのかが分かりません(これが解決法として正解かもわかりませんが)。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/21 08:39
2021/08/21 09:03
2021/08/21 10:42
2021/08/21 10:55
2021/08/22 09:46
2021/08/22 09:57