получение Illuminate\Contracts\Container\BindingResolutionException : целевой класс [AdminsTableSeeder] не существует. ошибка


получение Illuminate\Contracts\Container\BindingResolutionException : целевой класс [AdminsTableSeeder] не существует. ошибка

12.10.2019 03:41:25 Просмотров 12 Источник

поэтому я создаю сеялку в laravel 6.1, но продолжаю получать эту ошибку Illuminate\Contracts\Container\BindingResolutionException : целевой класс [AdminsTableSeeder] не существует. Я попробовал запустить composer dump-autoload и composer dumpautoload, решения, которые я нашел везде в интернете, но почему-то это не работает для меня. Не мог бы кто-нибудь помочь устранить эту ошибку? Я пытался устранить эту ошибку в течение последних двух часов, помощь была бы очень признательна.Кроме того, я довольно новичок в laravel. вот мой AdminsTableSeeder.php

use App\Models\Admin;
use Faker\Factory as Faker;
use Illuminate\Database\Seeder;

class AdminsTableSeeder extends Seeder
{
/**
 * Run the database seeds.
 *
 * @return void
 */
public function run()
{
    $faker = Faker::create();

    Admin::create([
        'name'      =>  $faker->name,
        'email'     =>  'admin@admin.com',
        'password'  =>  bcrypt('password'),
    ]);
}
}

а вот и мой DatabaseSeeder.php

 use Illuminate\Database\Seeder;

 class DatabaseSeeder extends Seeder
 {
/**
 * Seed the application's database.
 *
 * @return void
 */
public function run()
{
   $this->call(AdminsTableSeeder::class);
}
}
У вопроса есть решение - Посмотреть?

Ответы - получение Illuminate\Contracts\Container\BindingResolutionException : целевой класс [AdminsTableSeeder] не существует. ошибка / getting Illuminate\Contracts\Container\BindingResolutionException : Target class [AdminsTableSeeder] does not exist. error

Dilip Hirapara

12.10.2019 03:55:52

Убедитесь, что ваш файл AdminsTableSeeder.php находится в том же каталоге, где находится ваш файл DatabaseSeeder.php.

Бежать

composer dump-autoload

тогда попробуй

php artisan db:seed

Необязательный.

class DatabaseSeeder extends Seeder
{
     /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run(){
        $this->call('AdminsTableSeeder');
    }
}

попробуйте с $this->call('AdminsTableSeeder'); вот так.

Waqas Bukhary

02.09.2020 09:16:32

В моем случае в целевом классе контроллера отсутствовала следующая строка

use Illuminate\Http\Request;
Destroyed In Love

30.09.2020 01:10:36

В вашем случае переместите все файлы сеялки из предыдущего каталога database/seeds в папку database/seeders, а затем запустите composer dump-autoload.


Помните, что с laravel 8 сеялки и фабрики находятся в пространстве имен

Чтобы приспособиться к этим изменениям,

[1] - добавьте пространство имен Database\Seeders к вашим классам сеялок.

 namespace Database\Seeders;

[2] - переместить все файлы сеялки в папку database/seeders.

[3] - Если вы импортируете какие-либо классы сеялок в файл DatabaseSeeder, то удалите их все. (просто удалите все строки, которые начинались с use Database\Seeders\... из DatabaseSeeder.php)

[4] - в конце концов dump-autoload.

database/seeders0

Теперь вы можете попробовать свежую миграцию с семенами,

database/seeders1
Помочь в развитии проекта:
Закрыть X