Factory
abstract class Factory (View source)
Traits
ForwardsCalls |
Properties
protected string | $model | The name of the factory's corresponding model. | |
protected int|null | $count | The number of models that should be generated. | |
protected Collection | $states | The state transformations that will be applied to the model. | |
protected Collection | $has | The parent relationships that will be applied to the model. | |
protected Collection | $for | The child relationships that will be applied to the model. | |
protected Collection | $afterMaking | The "after making" callbacks that will be applied to the model. | |
protected Collection | $afterCreating | The "after creating" callbacks that will be applied to the model. | |
protected string | $connection | The name of the database connection that will be used to create the models. | |
protected Generator | $faker | The current Faker instance. | |
static protected string | $namespace | The default namespace where factories reside. | |
static protected callable | $modelNameResolver | The default model name resolver. | |
static protected callable | $factoryNameResolver | The factory name resolver. |
Methods
mixed | forwardCallTo(mixed $object, string $method, array $parameters) Forward a method call to the given object. | from ForwardsCalls |
static void | throwBadMethodCallException(string $method) Throw a bad method call exception for the given method. | from ForwardsCalls |
void | __construct(int|null $count = null, Collection|null $states = null, Collection|null $has = null, Collection|null $for = null, Collection|null $afterMaking = null, Collection|null $afterCreating = null, string $connection = null) Create a new factory instance. | |
array | definition() Define the model's default state. | |
static Factory | new(callable|array $attributes = []) Get a new factory instance for the given attributes. | |
static Factory | times(int $count) Get a new factory instance for the given number of models. | |
$this | configure() Configure the factory. | |
array | raw(array $attributes = [], Model|null $parent = null) Get the raw attributes generated by the factory. | |
Model | createOne(array $attributes = []) Create a single model and persist it to the database. | |
Collection|mixed | createMany(iterable $records) Create a collection of models and persist them to the database. | |
Collection|Model|mixed | create(array $attributes = [], Model|null $parent = null) Create a collection of models and persist them to the database. | |
Closure | lazy(array $attributes = [], Model|null $parent = null) Create a callback that persists a model in the database when invoked. | |
void | store(Collection $results) Set the connection name on the results and store them. | |
void | createChildren(Model $model) Create the children for the given model. | |
Model | makeOne(callable|array $attributes = []) Make a single instance of the model. | |
Collection|Model|mixed | make(array $attributes = [], Model|null $parent = null) Create a collection of models. | |
Model | makeInstance(Model|null $parent) Make an instance of the model with the given attributes. | |
mixed | getExpandedAttributes(Model|null $parent) Get a raw attributes array for the model. | |
array | getRawAttributes(Model|null $parent) Get the raw attributes for the model as an array. | |
array | parentResolvers() Create the parent relationship resolvers (as deferred Closures). | |
array | expandAttributes(array $definition) Expand all attributes to their underlying values. | |
Factory | state(callable|array $state) Add a new state transformation to the model definition. | |
Factory | sequence(array ...$sequence) Add a new sequenced state transformation to the model definition. | |
Factory | has(Factory $factory, string|null $relationship = null) Define a child relationship for the model. | |
string | guessRelationship(string $related) Attempt to guess the relationship name for a "has" relationship. | |
Factory | hasAttached(Factory $factory, callable|array $pivot = [], string|null $relationship = null) Define an attached relationship for the model. | |
Factory | for(Factory $factory, string|null $relationship = null) Define a parent relationship for the model. | |
Factory | afterMaking(Closure $callback) Add a new "after making" callback to the model definition. | |
Factory | afterCreating(Closure $callback) Add a new "after creating" callback to the model definition. | |
void | callAfterMaking(Collection $instances) Call the "after making" callbacks for the given model instances. | |
void | callAfterCreating(Collection $instances, Model|null $parent = null) Call the "after creating" callbacks for the given model instances. | |
Factory | count(int|null $count) Specify how many models should be generated. | |
Factory | connection(string $connection) Specify the database connection that should be used to generate models. | |
Factory | newInstance(array $arguments = []) Create a new instance of the factory builder with the given mutated properties. | |
Model | newModel(array $attributes = []) Get a new model instance. | |
string | modelName() Get the name of the model that is generated by the factory. | |
static void | guessModelNamesUsing(callable $callback) Specify the callback that should be invoked to guess model names based on factory names. | |
static void | useNamespace(string $namespace) Specify the default namespace that contains the application's model factories. | |
static Factory | factoryForModel(string $modelName) Get a new factory instance for the given model name. | |
static void | guessFactoryNamesUsing(callable $callback) Specify the callback that should be invoked to guess factory names based on dynamic relationship names. | |
Generator | withFaker() Get a new Faker instance. | |
static string | resolveFactoryName(string $modelName) Get the factory name for the given model name. | |
static string | appNamespace() Get the application namespace for the application. | |
mixed | __call(string $method, array $parameters) Proxy dynamic factory methods onto their proper methods. |
Details
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object.
static protected void throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method.
void __construct(int|null $count = null, Collection|null $states = null, Collection|null $has = null, Collection|null $for = null, Collection|null $afterMaking = null, Collection|null $afterCreating = null, string $connection = null)
Create a new factory instance.
abstract array definition()
Define the model's default state.
static Factory new(callable|array $attributes = [])
Get a new factory instance for the given attributes.
static Factory times(int $count)
Get a new factory instance for the given number of models.
$this configure()
Configure the factory.
array raw(array $attributes = [], Model|null $parent = null)
Get the raw attributes generated by the factory.
Model createOne(array $attributes = [])
Create a single model and persist it to the database.
Collection|mixed createMany(iterable $records)
Create a collection of models and persist them to the database.
Collection|Model|mixed create(array $attributes = [], Model|null $parent = null)
Create a collection of models and persist them to the database.
Closure lazy(array $attributes = [], Model|null $parent = null)
Create a callback that persists a model in the database when invoked.
protected void store(Collection $results)
Set the connection name on the results and store them.
protected void createChildren(Model $model)
Create the children for the given model.
Model makeOne(callable|array $attributes = [])
Make a single instance of the model.
Collection|Model|mixed make(array $attributes = [], Model|null $parent = null)
Create a collection of models.
protected Model makeInstance(Model|null $parent)
Make an instance of the model with the given attributes.
protected mixed getExpandedAttributes(Model|null $parent)
Get a raw attributes array for the model.
protected array getRawAttributes(Model|null $parent)
Get the raw attributes for the model as an array.
protected array parentResolvers()
Create the parent relationship resolvers (as deferred Closures).
protected array expandAttributes(array $definition)
Expand all attributes to their underlying values.
Factory state(callable|array $state)
Add a new state transformation to the model definition.
Factory sequence(array ...$sequence)
Add a new sequenced state transformation to the model definition.
Factory has(Factory $factory, string|null $relationship = null)
Define a child relationship for the model.
protected string guessRelationship(string $related)
Attempt to guess the relationship name for a "has" relationship.
Factory hasAttached(Factory $factory, callable|array $pivot = [], string|null $relationship = null)
Define an attached relationship for the model.
Factory for(Factory $factory, string|null $relationship = null)
Define a parent relationship for the model.
Factory afterCreating(Closure $callback)
Add a new "after creating" callback to the model definition.
protected void callAfterMaking(Collection $instances)
Call the "after making" callbacks for the given model instances.
protected void callAfterCreating(Collection $instances, Model|null $parent = null)
Call the "after creating" callbacks for the given model instances.
Factory count(int|null $count)
Specify how many models should be generated.
Factory connection(string $connection)
Specify the database connection that should be used to generate models.
protected Factory newInstance(array $arguments = [])
Create a new instance of the factory builder with the given mutated properties.
Model newModel(array $attributes = [])
Get a new model instance.
string modelName()
Get the name of the model that is generated by the factory.
static void guessModelNamesUsing(callable $callback)
Specify the callback that should be invoked to guess model names based on factory names.
static void useNamespace(string $namespace)
Specify the default namespace that contains the application's model factories.
static Factory factoryForModel(string $modelName)
Get a new factory instance for the given model name.
static void guessFactoryNamesUsing(callable $callback)
Specify the callback that should be invoked to guess factory names based on dynamic relationship names.
protected Generator withFaker()
Get a new Faker instance.
static string resolveFactoryName(string $modelName)
Get the factory name for the given model name.
static protected string appNamespace()
Get the application namespace for the application.
mixed __call(string $method, array $parameters)
Proxy dynamic factory methods onto their proper methods.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Factories/Factory.html