UseFactory

Specify the factory class for the model

Description: Specifies the factory class to use for the model, overriding the default factory resolution.

Namespace: Illuminate\Database\Eloquent\Attributes\UseFactory

Added in: Laravel 11.39

Usage

use Illuminate\Database\Eloquent\Attributes\UseFactory;
use Illuminate\Database\Eloquent\Model;
use Database\Factories\PostFactory;

// Before:
protected static function newFactory(): Factory
{
    return PostFactory::new();
}

use Illuminate\Database\Eloquent\Attributes\UseFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Database\Factories\PostFactory;

// After:
#[UseFactory(PostFactory::class)]
class Post extends Model
{
    use HasFactory;
}