trait HasRelationships (View source)
protected array | $relations | The loaded relationships for the model. | |
protected array | $touches | The relationships that should be touched on save. | |
static array | $manyMethods | The many to many relationship methods. |
HasOne | hasOne(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-one relationship. | |
HasOne | newHasOne(Builder $query, Model $parent, string $foreignKey, string $localKey) Instantiate a new HasOne relationship. | |
HasOneThrough | hasOneThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null, string|null $secondLocalKey = null) Define a has-one-through relationship. | |
HasOneThrough | newHasOneThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey) Instantiate a new HasOneThrough relationship. | |
MorphOne | morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-one relationship. | |
MorphOne | newMorphOne(Builder $query, Model $parent, string $type, string $id, string $localKey) Instantiate a new MorphOne relationship. | |
BelongsTo | belongsTo(string $related, string $foreignKey = null, string $ownerKey = null, string $relation = null) Define an inverse one-to-one or many relationship. | |
BelongsTo | newBelongsTo(Builder $query, Model $child, string $foreignKey, string $ownerKey, string $relation) Instantiate a new BelongsTo relationship. | |
MorphTo | morphTo(string $name = null, string $type = null, string $id = null, string $ownerKey = null) Define a polymorphic, inverse one-to-one or many relationship. | |
MorphTo | morphEagerTo(string $name, string $type, string $id, string $ownerKey) Define a polymorphic, inverse one-to-one or many relationship. | |
MorphTo | morphInstanceTo(string $target, string $name, string $type, string $id, string $ownerKey) Define a polymorphic, inverse one-to-one or many relationship. | |
MorphTo | newMorphTo(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation) Instantiate a new MorphTo relationship. | |
static string | getActualClassNameForMorph(string $class) Retrieve the actual class name for a given morph class. | |
string | guessBelongsToRelation() Guess the "belongs to" relationship name. | |
HasMany | hasMany(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-many relationship. | |
HasMany | newHasMany(Builder $query, Model $parent, string $foreignKey, string $localKey) Instantiate a new HasMany relationship. | |
HasManyThrough | hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null, string|null $secondLocalKey = null) Define a has-many-through relationship. | |
HasManyThrough | newHasManyThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey) Instantiate a new HasManyThrough relationship. | |
MorphMany | morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-many relationship. | |
MorphMany | newMorphMany(Builder $query, Model $parent, string $type, string $id, string $localKey) Instantiate a new MorphMany relationship. | |
BelongsToMany | belongsToMany(string $related, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null, string $relation = null) Define a many-to-many relationship. | |
BelongsToMany | newBelongsToMany(Builder $query, Model $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null) Instantiate a new BelongsToMany relationship. | |
MorphToMany | morphToMany(string $related, string $name, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null, bool $inverse = false) Define a polymorphic many-to-many relationship. | |
MorphToMany | newMorphToMany(Builder $query, Model $parent, string $name, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null, bool $inverse = false) Instantiate a new MorphToMany relationship. | |
MorphToMany | morphedByMany(string $related, string $name, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null) Define a polymorphic, inverse many-to-many relationship. | |
string|null | guessBelongsToManyRelation() Get the relationship name of the belongsToMany relationship. | |
string | joiningTable(string $related, Model|null $instance = null) Get the joining table name for a many-to-many relation. | |
string | joiningTableSegment() Get this model's half of the intermediate table name for belongsToMany relationships. | |
bool | touches(string $relation) Determine if the model touches a given relation. | |
void | touchOwners() Touch the owning relations of the model. | |
array | getMorphs(string $name, string $type, string $id) Get the polymorphic relationship columns. | |
string | getMorphClass() Get the class name for polymorphic relations. | |
mixed | newRelatedInstance(string $class) Create a new model instance for a related model. | |
array | getRelations() Get all the loaded relations for the instance. | |
mixed | getRelation(string $relation) Get a specified relationship. | |
bool | relationLoaded(string $key) Determine if the given relation is loaded. | |
$this | setRelation(string $relation, mixed $value) Set the given relationship on the model. | |
$this | unsetRelation(string $relation) Unset a loaded relationship. | |
$this | setRelations(array $relations) Set the entire relations array on the model. | |
array | getTouchedRelations() Get the relationships that are touched on save. | |
$this | setTouchedRelations(array $touches) Set the relationships that are touched on save. |
Define a one-to-one relationship.
Instantiate a new HasOne relationship.
Define a has-one-through relationship.
Instantiate a new HasOneThrough relationship.
Define a polymorphic one-to-one relationship.
Instantiate a new MorphOne relationship.
Define an inverse one-to-one or many relationship.
Instantiate a new BelongsTo relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Instantiate a new MorphTo relationship.
Retrieve the actual class name for a given morph class.
Guess the "belongs to" relationship name.
Define a one-to-many relationship.
Instantiate a new HasMany relationship.
Define a has-many-through relationship.
Instantiate a new HasManyThrough relationship.
Define a polymorphic one-to-many relationship.
Instantiate a new MorphMany relationship.
Define a many-to-many relationship.
Instantiate a new BelongsToMany relationship.
Define a polymorphic many-to-many relationship.
Instantiate a new MorphToMany relationship.
Define a polymorphic, inverse many-to-many relationship.
Get the relationship name of the belongsToMany relationship.
Get the joining table name for a many-to-many relation.
Get this model's half of the intermediate table name for belongsToMany relationships.
Determine if the model touches a given relation.
Touch the owning relations of the model.
Get the polymorphic relationship columns.
Get the class name for polymorphic relations.
Create a new model instance for a related model.
Get all the loaded relations for the instance.
Get a specified relationship.
Determine if the given relation is loaded.
Set the given relationship on the model.
Unset a loaded relationship.
Set the entire relations array on the model.
Get the relationships that are touched on save.
Set the relationships that are touched on save.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Concerns/HasRelationships.html