HasRelationships
trait HasRelationships
Properties
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. |
Methods
Define a one-to-one relationship.
Define a polymorphic one-to-one relationship.
Define an 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.
Define a polymorphic, inverse one-to-one or many relationship.
Retrieve the actual class name for a given morph class.
Guess the "belongs to" relationship name.
Define a one-to-many relationship.
Define a has-many-through relationship.
Define a polymorphic one-to-many relationship.
Define a many-to-many relationship.
Define a polymorphic many-to-many relationship.
Define a polymorphic, inverse many-to-many relationship.
Get the relationship name of the belongs to many.
Get the joining table name for a many-to-many relation.
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 specific relationship in the model.
Set the entire relations array on the model.
Get the relationships that are touched on save.
Set the relationships that are touched on save.
Details
at line 54
HasOne
hasOne(string $related, string $foreignKey = null, string $localKey = null)
Define a one-to-one relationship.
at line 75
MorphOne
morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null)
Define a polymorphic one-to-one relationship.
at line 97
BelongsTo
belongsTo(string $related, string $foreignKey = null, string $ownerKey = null, string $relation = null)
Define an inverse one-to-one or many relationship.
at line 133
MorphTo
morphTo(string $name = null, string $type = null, string $id = null)
Define a polymorphic, inverse one-to-one or many relationship.
at line 160
protected MorphTo
morphEagerTo(string $name, string $type, string $id)
Define a polymorphic, inverse one-to-one or many relationship.
at line 176
protected MorphTo
morphInstanceTo(string $target, string $name, string $type, string $id)
Define a polymorphic, inverse one-to-one or many relationship.
at line 193
static string
getActualClassNameForMorph(string $class)
Retrieve the actual class name for a given morph class.
at line 203
protected string
guessBelongsToRelation()
Guess the "belongs to" relationship name.
at line 218
HasMany
hasMany(string $related, string $foreignKey = null, string $localKey = null)
Define a one-to-many relationship.
at line 241
HasManyThrough
hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null)
Define a has-many-through relationship.
at line 266
MorphMany
morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null)
Define a polymorphic one-to-many relationship.
at line 292
BelongsToMany
belongsToMany(string $related, string $table = null, string $foreignKey = null, string $relatedKey = null, string $relation = null)
Define a many-to-many relationship.
at line 333
MorphToMany
morphToMany(string $related, string $name, string $table = null, string $foreignKey = null, string $relatedKey = null, bool $inverse = false)
Define a polymorphic many-to-many relationship.
at line 367
MorphToMany
morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $relatedKey = null)
Define a polymorphic, inverse many-to-many relationship.
at line 384
protected string
guessBelongsToManyRelation()
Get the relationship name of the belongs to many.
at line 399
string
joiningTable(string $related)
Get the joining table name for a many-to-many relation.
at line 423
bool
touches(string $relation)
Determine if the model touches a given relation.
at line 433
void
touchOwners()
Touch the owning relations of the model.
at line 458
protected array
getMorphs(string $name, string $type, string $id)
Get the polymorphic relationship columns.
at line 468
string
getMorphClass()
Get the class name for polymorphic relations.
at line 485
protected mixed
newRelatedInstance(string $class)
Create a new model instance for a related model.
at line 499
array
getRelations()
Get all the loaded relations for the instance.
at line 510
mixed
getRelation(string $relation)
Get a specified relationship.
at line 521
bool
relationLoaded(string $key)
Determine if the given relation is loaded.
at line 533
$this
setRelation(string $relation, mixed $value)
Set the specific relationship in the model.
at line 546
$this
setRelations(array $relations)
Set the entire relations array on the model.
at line 558
array
getTouchedRelations()
Get the relationships that are touched on save.
at line 569
$this
setTouchedRelations(array $touches)
Set the relationships that are touched on save.