1

在从控制器运行的 Laravel 8.12 工厂中,出现错误:

InvalidArgumentException
Unable to locate factory for [App\Models\Secret].

应用程序/模型/Secret.php :

<?php

namespace App\Models;


use DB;
use Illuminate\Database\Eloquent\Model;

class Secret extends Model
{

    protected $guarded = [];
    public $timestamps = false;

    public function user(){
        return $this->belongsTo('\App\Models\User');
    }

}

在数据库/工厂/SecretFactory.php 中:

<?php

namespace Database\Factories;

use App\Models\Secret;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;

class SecretFactory extends Factory
{
    protected $model = Secret::class;

    public function definition()
    {
        return [
            'user_id' => 1,
            'secret' => $this->faker->test,
        ];
    }
}

并在 app/Http/Controllers/Admin/DashboardController.php :

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Secret;

class DashboardController extends Controller
{
   ...


    public function test()
    {
        factory(\App\Models\Secret::class, 1)->create([]);
        ...
        

我安装了

"laravel/legacy-factories": "^1.1",

运行命令:

php artisan config:cache
php artisan  clear-compiled
composer dump-autoload

没有帮助

我错过了什么 ?我跑:

composer require laravel/legacy-factories

我要在其他地方注册吗?

谢谢

4

0 回答 0