目标 class [Database\Seeders\MockNotification] 在 Laravel 中不存在
Target class [Database\Seeders\MockNotification] does not exist in Laravel
我正在使用播种机 class 在数据库中播种 table
<?php
namespace Database\Seeders;
class MockNotification extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
Notification::factory()->times(2)->create();
}
}
我在 DatabaseSeeder
中调用这个 class
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Database\Seeders\NotificationTypeSeeder;
use Database\Seeders\MockNotification;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(UserSeeder::class);
$this->call([NotificationTypeSeeder::class]);
$this->call([MockNotification::class]);
}
}
我收到这个错误
Target class [Database\Seeders\MockNotification] does not exist.
虽然我已经在 DatabaseSeeder 文件中导入了 MockNotification classs
你的问题很容易解决,你必须把你的 MockNotification
class 放在 LARAVEL_ROOT_FOLDER/database/seeders
中,然后将它添加到你的 class namespace Database\Seeders;
.
您的 DatabaseSeeder
class 也应该有 namespace Database\Seeders;
。 composer
需要它来执行 PSR-4 自动加载。
你的播种机应该是这样的:
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class MockNotification extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Notification::factory()->times(2)->create(); // Add this use on top
}
}
添加
namespace Database\Seeders;
到两个文件。
它是标准的 PSR-4。
在种子文件的开头添加以下行
namespace Database\Seeders;
然后在终端执行以下
composer dumpautoload
我正在使用播种机 class 在数据库中播种 table
<?php
namespace Database\Seeders;
class MockNotification extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
Notification::factory()->times(2)->create();
}
}
我在 DatabaseSeeder
中调用这个 class
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Database\Seeders\NotificationTypeSeeder;
use Database\Seeders\MockNotification;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(UserSeeder::class);
$this->call([NotificationTypeSeeder::class]);
$this->call([MockNotification::class]);
}
}
我收到这个错误
Target class [Database\Seeders\MockNotification] does not exist.
虽然我已经在 DatabaseSeeder 文件中导入了 MockNotification classs
你的问题很容易解决,你必须把你的 MockNotification
class 放在 LARAVEL_ROOT_FOLDER/database/seeders
中,然后将它添加到你的 class namespace Database\Seeders;
.
您的 DatabaseSeeder
class 也应该有 namespace Database\Seeders;
。 composer
需要它来执行 PSR-4 自动加载。
你的播种机应该是这样的:
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class MockNotification extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Notification::factory()->times(2)->create(); // Add this use on top
}
}
添加
namespace Database\Seeders;
到两个文件。
它是标准的 PSR-4。
在种子文件的开头添加以下行
namespace Database\Seeders;
然后在终端执行以下
composer dumpautoload