php - 在文件夹中调用 Laravel Seeder
问题描述
我已经升级到 Laravel 8,但我在子目录中的自定义播种器无法正常工作。该文件位于database/seeders/tests/TestSeeder.php.
当我运行该命令php artisan db:seed --class="TestSeeder"
时,它会返回一条错误消息:
Target class [Database\Seeders\TestSeeder] does not exist.
播种机
<?php
namespace Database\Seeders\Tests;
class TestSeeder extends BaseSeeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// codes
}
}
作曲家.json
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Database\\Seeders\\Tests\\": "database/seeders/tests/"
}
},
解决方案
Laravel 假设你正在运行Database\Seeders\DatabaseSeeder
类中的播种机。如果您提供了一个不合格的类名,例如TestSeeder
,它将假定您的意思是Database\Seeders\TestSeeder
该类。
因此,您应该指定完全限定的类名。
php artisan db:seed --class="Database\\Seeders\\Tests\\TestSeeder"
推荐阅读
- jquery - 将 HTML 表转换为 JSON 并将新键设置为 JSON
- rx-java - RxJava 2.0 - 如何从 Completables 发出 Observable
- centos7 - 如何在已经有 VMware ESXi 6.5 服务器的 PRIMERGY TX1310 M1 中安装 CentOS7?
- php - AJAX 不向脚本发送数据
- nginx - 通过 nginx 将 POST 数据传递到 unix 域套接字
- asp.net-core-2.2 - 删除 ASP.Net Core 2.2 InProcess 上的 HTTP 标头
- python - 无法运行天蓝色命令行
- reactjs - 将复杂的 div 容器转换为 React 组件
- javascript - 在两个 html 页面之间传递会话
- ios - 在 Xcode 中识别静态单元格的正确方法?