问题描述
在从控制器运行工厂的 Laravel 8.12 中,我收到错误:
invalidargumentexception
Unable to locate factory for [App\Models\Secret].
app/Models/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');
}
}
<?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
我需要在其他地方注册吗?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)