2
0

More than 3 years have passed since last update.

LaravelのSeeder実行時に「Class 'Database\Seeders\Datetime' not found」エラーが出たときの対処法

Posted at

背景

LaravelでSeeder実行時に少々詰まったので共有します。

環境

Laravel Framework 8.15.0

現象

Seederファイルを用意した状態でSeederを実行するとエラーが発生する

$ php artisan db:seed
Seeding: Database\Seeders\FutsalsTableSeeder

   Error 

  Class 'Database\Seeders\Datetime' not found

  at database/seeders/FutsalsTableSeeder.php:22
     18▕             [
     19▕             'name' => 'futsal 1',
     20▕             'place' => 'tokyo',
     21▕             'url' => 'xxx',
  ➜  22▕             'created_at' => new Datetime(),
     23▕             'updated_at' => new Datetime()
     24▕         ],
     25▕             [
     26▕             'name' => 'futsal 2',

原因

Datetimeに関して、use宣言をしていないため

解決策

use DateTimeを追記すればOKです。

HobeTablesSeeder.php
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use DateTime; // ←これを追加

class FutsalsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
   // 省略
    }
}

参考
https://stackoverflow.com/questions/52074184/laravel-error-class-app-http-controllers-datetime-not-found

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0