Jos*_*osh 6 package autoload laravel laravel-seeding laravel-package
我正在为内部 Laravel 应用程序开发一个包,但在运行包目录中存在的播种器时遇到问题。
在位于packages/vendor/packagename 的包的composer.json 文件中,我添加了以下内容:
"autoload": {
"psr-4": {
"Vendor\\PackageName\\": "src/",
"Vendor\\PackageName\\Database\\Factories\\": "database/factories/",
"Vendor\\PackageName\\Database\\Seeders\\": "database/seeders/"
}
},
Run Code Online (Sandbox Code Playgroud)
我有以下文件位于“packages/vendor/packagename/database/seeders/DepartmentSeeder.php”
<?php
namespace Vendor\PackageName\Database\Seeders;
use Illuminate\Database\Seeder;
use Vendor\PackageName\Models\Department;
class DepartmentSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Department::factory()->count(10)->create();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试运行以下命令:
$ php artisan db:seed --class="Vendor\\PackageName\\Database\\Seeders\\DepartmentSeeder"
Run Code Online (Sandbox Code Playgroud)
目标类 [Vendor\PackageName\Database\Seeders\DepartmentSeeder] 不存在。
如果我将播种机目录移至 src 目录并运行以下命令,它会起作用,但我宁愿将播种机保留在数据库目录中。
$ php artisan db:seed --class="Vendor\\PackageName\\seeders\\DepartmentSeeder"
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么找不到该课程吗?我所有的谷歌搜索结果都是紫色的,我什至去了第二页=/
就我的具体情况而言,composer dump-autoload并没有达到目的。我最终所做的就是跑步composer update vendor/packagename,无论问题是什么,它都得到了解决。
希望这对可能遇到类似问题的其他人有所帮助。
就我的具体情况而言,composer dump-autoload并没有达到目的。我最终所做的就是跑步composer update vendor/packagename,无论问题是什么,它都得到了解决。
希望这对可能遇到类似问题的其他人有所帮助。
| 归档时间: |
|
| 查看次数: |
1001 次 |
| 最近记录: |