Раздача Laravel 8: run:handelerror

Я пытаюсь следовать этой документации о том, как заставить сеялку работать

По сути, они просто пытаются заставить демо-версию работать.

Когда я запускаю php artisan db:seed, я получаю эту ошибку введите здесь описание изображения

введите здесь описание изображения

KanbanSeeder.php

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeders.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->insert([
            'name' => Str::random(10),
            'email' => Str::random(10).'@gmail.com',
            'password' => Hash::make('password'),
        ]);
    }
}

DatabaseSeeder.php

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        // \App\Models\User::factory(10)->create();
        $this->call(KanbanSeeder::class);
    }
}

Любое понимание или ссылки на учебник, которые могут быть более полезными для новичка, чем документация laravel, высоко ценятся.


person Jakub    schedule 06.02.2021    source источник
comment
почему вы назвали его DatabaseSeeder, если имя файла KanbanSeeder.php? в этом пространстве имен уже есть класс с именем DatabaseSeeder   -  person lagbox    schedule 07.02.2021
comment
Я не создавал файл DatabaseSeeder.php, он просто был там по умолчанию при установке laravel. Я не мог заставить все работать при первом запуске команды seed. Итак, я нашел учебник на YouTube, и парень написал $this->call(KanbanSeeder::class); внутри сеялки базы данных и сказал, что это тот, который выполняется по умолчанию? На его экране это сработало. youtu.be/yMOOmvUm-gE   -  person Jakub    schedule 07.02.2021
comment
Я более чем счастлив начать с нуля. Все, что я пытаюсь сделать, это вставить что-то в БД с помощью сеялки, ха-ха, просто чтобы посмотреть, как это работает. Я действительно новичок в laravel, поэтому интуитивно не понимаю сообщения об ошибках.   -  person Jakub    schedule 07.02.2021
comment
сначала исправьте имя сеялки класса, имя класса и имя файла отличаются   -  person Mohamed Ahmed    schedule 07.02.2021
comment
Я не говорил, что вы создали файл DatabaseSeeder.php... почему вы назвали класс DatabaseSeeder в файле с именем KanbanSeeder.php? имя класса должно совпадать с этим, иначе автозагрузка не найдет его ... и у вас уже есть класс с именем DatabaseSeeder в этом пространстве имен, поэтому вы не можете назвать его так ... класс будет называться KanbanSeeder   -  person lagbox    schedule 07.02.2021
comment
Ааа, я понимаю, что вы имеете в виду, хорошо, я исправил это сейчас. Я даже не заметил этого ›.‹ теперь он успешно запускает семя, но не вставляет данные.   -  person Jakub    schedule 07.02.2021
comment
Что вы подразумеваете под именем класса и именем файла?   -  person Jakub    schedule 07.02.2021
comment
в файле с именем KanbanSeeder.php должен быть класс с именем KanbanSeeder ... так работает автозагрузка PSR4   -  person lagbox    schedule 07.02.2021
comment
Теперь все работает, ха-ха, большое спасибо за помощь!   -  person Jakub    schedule 07.02.2021


Ответы (1)


Ответ — то, что @lagbox написал в комментариях.

Мне пришлось изменить class DatabaseSeeder extends Seeder

to class KanbanSeeder extends Seeder

person Jakub    schedule 07.02.2021