Factory
abstract class Factory (View source)
Traits
Conditionable | |
ForwardsCalls | |
Macroable |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
protected | $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 | $recycle | The model instances to always use when creating relationships. | |
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|null | $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
$this|TWhenReturnType | when($value = null, callable $callback = null, callable $default = null)
Apply the callback if the given "value" is (or resolves to) truthy. | from Conditionable |
$this|TUnlessReturnType | unless($value = null, callable $callback = null, callable $default = null)
Apply the callback if the given "value" is (or resolves to) falsy. | from Conditionable |
mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object. | from ForwardsCalls |
mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object, returning $this if the forwarded call returned itself. | from ForwardsCalls |
static void | throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method. | from ForwardsCalls |
static void | macro(string $name, object|callable $macro)
Register a custom macro. | from Macroable |
static void | mixin(object $mixin, bool $replace = true)
Mix another object into the class. | from Macroable |
static bool | hasMacro(string $name)
Checks if macro is registered. | from Macroable |
static void | flushMacros()
Flush the existing macros. | from Macroable |
static mixed | __callStatic(string $method, array $parameters)
Dynamically handle calls to the class. | from Macroable |
mixed | __call(string $method, array $parameters)
Proxy dynamic factory methods onto their proper methods. | |
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|null $connection = null, Collection|null $recycle = null)
Create a new factory instance. | |
array<string,mixed> | definition()
Define the model's default state. | |
static Factory | new($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<int|string,mixed> | raw($attributes = [], Model|null $parent = null)
Get the raw attributes generated by the factory. | |
Model|TModel | createOne($attributes = [])
Create a single model and persist it to the database. | |
Model|TModel | createOneQuietly($attributes = [])
Create a single model and persist it to the database without dispatching any model events. | |
Model|TModel> | createMany(iterable $records)
Create a collection of models and persist them to the database. | |
Model|TModel> | createManyQuietly(iterable $records)
Create a collection of models and persist them to the database without dispatching any model events. | |
Model|TModel>|Model|TModel | create($attributes = [], Model|null $parent = null)
Create a collection of models and persist them to the database. | |
Model|TModel>|Model|TModel | createQuietly($attributes = [], Model|null $parent = null)
Create a collection of models and persist them to the database without dispatching any model events. | |
lazy(array $attributes = [], Model|null $parent = null) No description | ||
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|TModel | makeOne($attributes = [])
Make a single instance of the model. | |
Model|TModel>|Model|TModel | make($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($state)
Add a new state transformation to the model definition. | |
Factory | set(string|int $key, mixed $value)
Set a single model attribute. | |
Factory | sequence(mixed ...$sequence)
Add a new sequenced state transformation to the model definition. | |
Factory | forEachSequence(array ...$sequence)
Add a new sequenced state transformation to the model definition and update the pending creation count to the size of the sequence. | |
Factory | crossJoinSequence(array ...$sequence)
Add a new cross joined 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. | |
hasAttached($factory, $pivot = [], $relationship = null) No description | ||
Factory | for(Factory|Model $factory, string|null $relationship = null)
Define a parent relationship for the model. | |
Factory | recycle(Model|Collection|array $model)
Provide model instances to use instead of any nested factory calls when creating relationships. | |
Model|null | getRandomRecycledModel(string $modelClassName)
Retrieve a random model of a given type from previously provided models to recycle. | |
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|TModel | newModel(array $attributes = [])
Get a new model instance. | |
modelName() No description | ||
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 Factory> | resolveFactoryName(string $modelName)
Get the factory name for the given model name. | |
static string | appNamespace()
Get the application namespace for the application. | |
$this | trashed() No description |
Details
$this|TWhenReturnType when($value = null, callable $callback = null, callable $default = null)
Apply the callback if the given "value" is (or resolves to) truthy.
$this|TUnlessReturnType unless($value = null, callable $callback = null, callable $default = null)
Apply the callback if the given "value" is (or resolves to) falsy.
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object, returning $this if the forwarded call returned itself.
static protected void throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method.
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static void flushMacros()
Flush the existing macros.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Proxy dynamic factory methods onto their proper methods.
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|null $connection = null, Collection|null $recycle = null)
Create a new factory instance.
abstract array<string,mixed> definition()
Define the model's default state.
static Factory new($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<int|string,mixed> raw($attributes = [], Model|null $parent = null)
Get the raw attributes generated by the factory.
Model|TModel createOne($attributes = [])
Create a single model and persist it to the database.
Model|TModel createOneQuietly($attributes = [])
Create a single model and persist it to the database without dispatching any model events.
Model|TModel> createMany(iterable $records)
Create a collection of models and persist them to the database.
Model|TModel> createManyQuietly(iterable $records)
Create a collection of models and persist them to the database without dispatching any model events.
Model|TModel>|Model|TModel create($attributes = [], Model|null $parent = null)
Create a collection of models and persist them to the database.
Model|TModel>|Model|TModel createQuietly($attributes = [], Model|null $parent = null)
Create a collection of models and persist them to the database without dispatching any model events.
lazy(array $attributes = [], Model|null $parent = null)
No description
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|TModel makeOne($attributes = [])
Make a single instance of the model.
Model|TModel>|Model|TModel make($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($state)
Add a new state transformation to the model definition.
Factory set(string|int $key, mixed $value)
Set a single model attribute.
Factory sequence(mixed ...$sequence)
Add a new sequenced state transformation to the model definition.
Factory forEachSequence(array ...$sequence)
Add a new sequenced state transformation to the model definition and update the pending creation count to the size of the sequence.
Factory crossJoinSequence(array ...$sequence)
Add a new cross joined 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.
hasAttached($factory, $pivot = [], $relationship = null)
No description
Factory for(Factory|Model $factory, string|null $relationship = null)
Define a parent relationship for the model.
Factory recycle(Model|Collection|array $model)
Provide model instances to use instead of any nested factory calls when creating relationships.
Model|null getRandomRecycledModel(string $modelClassName)
Retrieve a random model of a given type from previously provided models to recycle.
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|TModel newModel(array $attributes = [])
Get a new model instance.
modelName()
No description
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 Factory> resolveFactoryName(string $modelName)
Get the factory name for the given model name.
static protected string appNamespace()
Get the application namespace for the application.
$this trashed()
No description
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Database/Eloquent/Factories/Factory.html