populate
Populate an entity with a structure of name-value pairs. Make sure the names of the properties match the keys in the structure.
Returns
This function returns the populated object
Arguments
Key | Type | Required | Default | Description |
target | any | Yes | --- | The entity to populate |
memento | struct | Yes | --- | The structure of name-value pairs to try to populate the entity with |
scope | string | No | Use scope injection instead of setter injection, no need of setters, just tell us what scope to inject to | |
trustedSetter | Boolean | No | false | Do not check if the setter exists, just call it, great for usage with onMissingMethod() and virtual properties |
include | string | No | A list of keys to ONLY include in the population | |
exclude | string | No | A list of keys to exclude from the population | |
nullEmptyInclude | string | No | A list of keys to NULL when empty, specifically for ORM population. You can also specify "*" for all fields | |
nullEmptyExclude | string | No | A list of keys to NOT NULL when empty, specifically for ORM population. You can also specify "*" for all fields | |
composeRelationships | boolean | No | true | When true, will automatically attempt to compose relationships from memento |
INFO With composeRelationships=true, you can populate one-to-many, many-to-one, many-to-many, and one-to-one relationships from property values in the memento. For 'many-to-one' and 'one-to-one' relationships, the value of the property in the memento should be a single value of the primary key of the target entity to be loaded. For 'one-to-many' and 'many-to-many' relationships, the value of the property in the memento should a comma-delimited list or array of the primary keys of the target entities to be loaded.
Examples
Last updated