【发布时间】:2021-01-04 16:26:14
【问题描述】:
所以当使用 laravel 8.x 中引入的新模型工厂类时,我遇到了这个奇怪的问题,说 laravel 找不到与模型对应的工厂。我得到这个错误
PHP Error: Class 'Database/Factories/BusinessUserFactory' not found in .....
虽然我关注了 laravel 文档,但我不知道发生了什么
这是BusinessUser 类
<?php
namespace App;
use Database\Factories\BusinessUserFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class BusinessUser extends Model
{
use HasFactory;
}
和工厂
<?php
namespace Database\Factories;
use App\BusinessUser;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class BusinessUserFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = BusinessUser::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'name' => "dsfsf"
];
}
}
非常感谢任何想法或线索。
【问题讨论】:
-
那个工厂类的文件名是什么?您是否升级到 8 而不是全新安装,如果是这样,您可能缺少该目录的自动加载指令
-
文件名是
BusinessUserFactory.php,是的,我升级到了laravel 8 -
我遇到了一个类似的错误,在一个为 Laravel 8 调用工厂更新的测试中,抛出一个错误,说找不到类“Database\Factories\Entity”。在工厂中使用 App\Models\Entity。自动加载已更新如下。