Laravel 8 创建模型
模型工厂定义后,就可以在 Eloquent 模型上使用 Illuminate \ Database \ Eloquent \ Factories \ HasFactory
特性提供的静态 factory
方法来实例化该模型的工厂实例:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use HasFactory;
}
让我们看一些创建模型的例子。首先,我们将使用 make
方法创建模型但不将他们保存至数据库中:
use App\Models\User;
public function testDatabase()
{
$user = User::factory()->make();
// Use model in tests...
}
你也可以使用 count
方法创建一个含有多个模型的集合:
// Create three App\Models\User instances...
$users = User::factory()->count(3)->make();
HasFactory
特征的 factory
方法将使用默认的约定来确定模型的正确工厂。 具体来说,该方法将在 Database \ Factories
命名空间中寻找一个工厂,该工厂的类名与模型名称匹配,并且后缀为 Factory
。 如果这些约定不适用于您的特定应用程序或工厂,则可以直接使用工厂来创建模型实例。 要使用 factory 类创建一个新的工厂实例,应在工厂上调用静态的 new
方法:
use Database\Factories\UserFactory;
$users = UserFactory::new()->count(3)->make();