/**
* Create a new factory instance for the model.
*
* @return ArticleFactory
*/
protected static function newFactory(): ArticleFactory
{
return ArticleFactory::new();
}
在你的工厂中,用protected $model定义你的模型,如下所示:
class ArticleFactory extends Factory
{
protected $model = Article::class;
public function definition(): array
{
return [
'user_id' => User::factory()->create()->id,
'slug' => $this->faker->unique()->slug,
// and other fields
];
}
}
6条答案
按热度按时间px9o7tmv1#
Laravel 5.6+解决方案
1.将文件移动到新目录
假设您要将模型移动到
app/Models
2.更改模型命名空间
对于每次型号变更:
到
3.更改其他文件中的引用
检查这些文件并特别搜索
app\User
app/Http/Controllers/Auth/RegisterController.php
config/auth.php
config/services.php
database/factories/ModelFactory.php
database/factories/UserFactory.php
并将
App/ModelExample
更改为App/Models/ModelExample
4.自动加载文件
运行
composer dump-autoload
5.恭喜!
wbgh16ku2#
只需创建一个名为
Models
的文件夹并将文件移动到其中。之后,将模型的名称空间从App
更改为App\Models
(同时更新用法)并运行composer dump-autoload
。oxcyiej73#
将
"app/models"
添加到composer.json的classmap autoload部分3vpjnl9f4#
移动模型文件夹中的所有文件后。你需要做的是运行:
composer dump-autoload
这对我很有效。:)
omtl5h9j5#
在做了@Saint Play步骤之后。我不得不做
php artisan config:clear
。那就成功了!ewm0tg9j6#
你需要在模型中引用你的工厂:
在你的工厂中,用
protected $model
定义你的模型,如下所示: