我在 Laravel 中创建了一个模型。我总是注意到默认情况下会使用 HasFactory。我可以知道它到底有什么作用吗?根据我阅读文档的理解,它用于链接到数据库(我猜?)但我仍然不明白它是如何工作的。
最佳答案
HasFactory是不链接数据库的。 这是将 Eloquent 模型与模型工厂联系起来的特征。
当需要特定模型的测试数据时,工厂通常用于测试。
您可以在此处阅读有关 Laravel 工厂的更多信息:https://laravel.com/docs/9.x/database-testing#model-factories和这里: https://laravel.com/docs/9.x/eloquent-factories
trait 确保你可以像这样实例化一个工厂:
User::factory()->create();
在老版本的 Laravel 中没有使用这个特性,取而代之的是一个工厂必须由全局工厂助手实例化,就像这样 factory(User::class)->create();
但是这导致了 IDE 中智能感知的很多问题。
关于php - Laravel 什么是使用 HasFactory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73601972/