name: HasRelationships class_comment: null dependencies: - name: Closure type: class source: Closure - name: ClassMorphViolationException type: class source: Illuminate\Database\ClassMorphViolationException - name: Builder type: class source: Illuminate\Database\Eloquent\Builder - name: Collection type: class source: Illuminate\Database\Eloquent\Collection - name: Model type: class source: Illuminate\Database\Eloquent\Model - name: PendingHasThroughRelationship type: class source: Illuminate\Database\Eloquent\PendingHasThroughRelationship - name: BelongsTo type: class source: Illuminate\Database\Eloquent\Relations\BelongsTo - name: BelongsToMany type: class source: Illuminate\Database\Eloquent\Relations\BelongsToMany - name: HasMany type: class source: Illuminate\Database\Eloquent\Relations\HasMany - name: HasManyThrough type: class source: Illuminate\Database\Eloquent\Relations\HasManyThrough - name: HasOne type: class source: Illuminate\Database\Eloquent\Relations\HasOne - name: HasOneThrough type: class source: Illuminate\Database\Eloquent\Relations\HasOneThrough - name: MorphMany type: class source: Illuminate\Database\Eloquent\Relations\MorphMany - name: MorphOne type: class source: Illuminate\Database\Eloquent\Relations\MorphOne - name: MorphTo type: class source: Illuminate\Database\Eloquent\Relations\MorphTo - name: MorphToMany type: class source: Illuminate\Database\Eloquent\Relations\MorphToMany - name: Pivot type: class source: Illuminate\Database\Eloquent\Relations\Pivot - name: Relation type: class source: Illuminate\Database\Eloquent\Relations\Relation - name: Arr type: class source: Illuminate\Support\Arr - name: Str type: class source: Illuminate\Support\Str properties: - name: relations visibility: protected comment: '# * The loaded relationships for the model. # * # * @var array' - name: touches visibility: protected comment: '# * The relationships that should be touched on save. # * # * @var array' - name: manyMethods visibility: public comment: '# * The many to many relationship methods. # * # * @var string[]' - name: relationResolvers visibility: protected comment: '# * The relation resolver callbacks. # * # * @var array' methods: - name: relationResolver visibility: public parameters: - name: class - name: key comment: "# * The loaded relationships for the model.\n# *\n# * @var array\n# */\n\ # protected $relations = [];\n# \n# /**\n# * The relationships that should be\ \ touched on save.\n# *\n# * @var array\n# */\n# protected $touches = [];\n# \n\ # /**\n# * The many to many relationship methods.\n# *\n# * @var string[]\n# */\n\ # public static $manyMethods = [\n# 'belongsToMany', 'morphToMany', 'morphedByMany',\n\ # ];\n# \n# /**\n# * The relation resolver callbacks.\n# *\n# * @var array\n#\ \ */\n# protected static $relationResolvers = [];\n# \n# /**\n# * Get the dynamic\ \ relation resolver if defined or inherited, or return null.\n# *\n# * @param\ \ string $class\n# * @param string $key\n# * @return mixed" - name: resolveRelationUsing visibility: public parameters: - name: name - name: callback comment: '# * Define a dynamic relation resolver. # * # * @param string $name # * @param \Closure $callback # * @return void' - name: hasOne visibility: public parameters: - name: related - name: foreignKey default: 'null' - name: localKey default: 'null' comment: '# * Define a one-to-one relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string|null $foreignKey # * @param string|null $localKey # * @return \Illuminate\Database\Eloquent\Relations\HasOne' - name: newHasOne visibility: protected parameters: - name: query - name: parent - name: foreignKey - name: localKey comment: '# * Instantiate a new HasOne relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $foreignKey # * @param string $localKey # * @return \Illuminate\Database\Eloquent\Relations\HasOne' - name: hasOneThrough visibility: public parameters: - name: related - name: through - name: firstKey default: 'null' - name: secondKey default: 'null' - name: localKey default: 'null' - name: secondLocalKey default: 'null' comment: '# * Define a has-one-through relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TIntermediateModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param class-string $through # * @param string|null $firstKey # * @param string|null $secondKey # * @param string|null $localKey # * @param string|null $secondLocalKey # * @return \Illuminate\Database\Eloquent\Relations\HasOneThrough' - name: newHasOneThrough visibility: protected parameters: - name: query - name: farParent - name: throughParent - name: firstKey - name: secondKey - name: localKey - name: secondLocalKey comment: '# * Instantiate a new HasOneThrough relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TIntermediateModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $farParent # * @param TIntermediateModel $throughParent # * @param string $firstKey # * @param string $secondKey # * @param string $localKey # * @param string $secondLocalKey # * @return \Illuminate\Database\Eloquent\Relations\HasOneThrough' - name: morphOne visibility: public parameters: - name: related - name: name - name: type default: 'null' - name: id default: 'null' - name: localKey default: 'null' comment: '# * Define a polymorphic one-to-one relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string $name # * @param string|null $type # * @param string|null $id # * @param string|null $localKey # * @return \Illuminate\Database\Eloquent\Relations\MorphOne' - name: newMorphOne visibility: protected parameters: - name: query - name: parent - name: type - name: id - name: localKey comment: '# * Instantiate a new MorphOne relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $type # * @param string $id # * @param string $localKey # * @return \Illuminate\Database\Eloquent\Relations\MorphOne' - name: belongsTo visibility: public parameters: - name: related - name: foreignKey default: 'null' - name: ownerKey default: 'null' - name: relation default: 'null' comment: '# * Define an inverse one-to-one or many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string|null $foreignKey # * @param string|null $ownerKey # * @param string|null $relation # * @return \Illuminate\Database\Eloquent\Relations\BelongsTo' - name: newBelongsTo visibility: protected parameters: - name: query - name: child - name: foreignKey - name: ownerKey - name: relation comment: '# * Instantiate a new BelongsTo relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $child # * @param string $foreignKey # * @param string $ownerKey # * @param string $relation # * @return \Illuminate\Database\Eloquent\Relations\BelongsTo' - name: morphTo visibility: public parameters: - name: name default: 'null' - name: type default: 'null' - name: id default: 'null' - name: ownerKey default: 'null' comment: '# * Define a polymorphic, inverse one-to-one or many relationship. # * # * @param string|null $name # * @param string|null $type # * @param string|null $id # * @param string|null $ownerKey # * @return \Illuminate\Database\Eloquent\Relations\MorphTo<\Illuminate\Database\Eloquent\Model, $this>' - name: morphEagerTo visibility: protected parameters: - name: name - name: type - name: id - name: ownerKey comment: '# * Define a polymorphic, inverse one-to-one or many relationship. # * # * @param string $name # * @param string $type # * @param string $id # * @param string $ownerKey # * @return \Illuminate\Database\Eloquent\Relations\MorphTo<\Illuminate\Database\Eloquent\Model, $this>' - name: morphInstanceTo visibility: protected parameters: - name: target - name: name - name: type - name: id - name: ownerKey comment: '# * Define a polymorphic, inverse one-to-one or many relationship. # * # * @param string $target # * @param string $name # * @param string $type # * @param string $id # * @param string $ownerKey # * @return \Illuminate\Database\Eloquent\Relations\MorphTo<\Illuminate\Database\Eloquent\Model, $this>' - name: newMorphTo visibility: protected parameters: - name: query - name: parent - name: foreignKey - name: ownerKey - name: type - name: relation comment: '# * Instantiate a new MorphTo relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $foreignKey # * @param string $ownerKey # * @param string $type # * @param string $relation # * @return \Illuminate\Database\Eloquent\Relations\MorphTo' - name: getActualClassNameForMorph visibility: public parameters: - name: class comment: '# * Retrieve the actual class name for a given morph class. # * # * @param string $class # * @return string' - name: guessBelongsToRelation visibility: protected parameters: [] comment: '# * Guess the "belongs to" relationship name. # * # * @return string' - name: through visibility: public parameters: - name: relationship comment: '# * Create a pending has-many-through or has-one-through relationship. # * # * @template TIntermediateModel of \Illuminate\Database\Eloquent\Model # * # * @param string|\Illuminate\Database\Eloquent\Relations\HasMany|\Illuminate\Database\Eloquent\Relations\HasOne $relationship # * @return ( # * $relationship is string # * ? \Illuminate\Database\Eloquent\PendingHasThroughRelationship<\Illuminate\Database\Eloquent\Model, $this> # * : \Illuminate\Database\Eloquent\PendingHasThroughRelationship # * )' - name: hasMany visibility: public parameters: - name: related - name: foreignKey default: 'null' - name: localKey default: 'null' comment: '# * Define a one-to-many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string|null $foreignKey # * @param string|null $localKey # * @return \Illuminate\Database\Eloquent\Relations\HasMany' - name: newHasMany visibility: protected parameters: - name: query - name: parent - name: foreignKey - name: localKey comment: '# * Instantiate a new HasMany relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $foreignKey # * @param string $localKey # * @return \Illuminate\Database\Eloquent\Relations\HasMany' - name: hasManyThrough visibility: public parameters: - name: related - name: through - name: firstKey default: 'null' - name: secondKey default: 'null' - name: localKey default: 'null' - name: secondLocalKey default: 'null' comment: '# * Define a has-many-through relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TIntermediateModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param class-string $through # * @param string|null $firstKey # * @param string|null $secondKey # * @param string|null $localKey # * @param string|null $secondLocalKey # * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough' - name: newHasManyThrough visibility: protected parameters: - name: query - name: farParent - name: throughParent - name: firstKey - name: secondKey - name: localKey - name: secondLocalKey comment: '# * Instantiate a new HasManyThrough relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TIntermediateModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $farParent # * @param TIntermediateModel $throughParent # * @param string $firstKey # * @param string $secondKey # * @param string $localKey # * @param string $secondLocalKey # * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough' - name: morphMany visibility: public parameters: - name: related - name: name - name: type default: 'null' - name: id default: 'null' - name: localKey default: 'null' comment: '# * Define a polymorphic one-to-many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string $name # * @param string|null $type # * @param string|null $id # * @param string|null $localKey # * @return \Illuminate\Database\Eloquent\Relations\MorphMany' - name: newMorphMany visibility: protected parameters: - name: query - name: parent - name: type - name: id - name: localKey comment: '# * Instantiate a new MorphMany relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $type # * @param string $id # * @param string $localKey # * @return \Illuminate\Database\Eloquent\Relations\MorphMany' - name: belongsToMany visibility: public parameters: - name: related - name: table default: 'null' - name: foreignPivotKey default: 'null' - name: relatedPivotKey default: 'null' - name: parentKey default: 'null' - name: relatedKey default: 'null' - name: relation default: 'null' comment: '# * Define a many-to-many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string|class-string<\Illuminate\Database\Eloquent\Model>|null $table # * @param string|null $foreignPivotKey # * @param string|null $relatedPivotKey # * @param string|null $parentKey # * @param string|null $relatedKey # * @param string|null $relation # * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany' - name: newBelongsToMany visibility: protected parameters: - name: query - name: parent - name: table - name: foreignPivotKey - name: relatedPivotKey - name: parentKey - name: relatedKey - name: relationName default: 'null' comment: '# * Instantiate a new BelongsToMany relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string|class-string<\Illuminate\Database\Eloquent\Model> $table # * @param string $foreignPivotKey # * @param string $relatedPivotKey # * @param string $parentKey # * @param string $relatedKey # * @param string|null $relationName # * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany' - name: morphToMany visibility: public parameters: - name: related - name: name - name: table default: 'null' - name: foreignPivotKey default: 'null' - name: relatedPivotKey default: 'null' - name: parentKey default: 'null' - name: relatedKey default: 'null' - name: relation default: 'null' - name: inverse default: 'false' comment: '# * Define a polymorphic many-to-many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string $name # * @param string|null $table # * @param string|null $foreignPivotKey # * @param string|null $relatedPivotKey # * @param string|null $parentKey # * @param string|null $relatedKey # * @param string|null $relation # * @param bool $inverse # * @return \Illuminate\Database\Eloquent\Relations\MorphToMany' - name: newMorphToMany visibility: protected parameters: - name: query - name: parent - name: name - name: table - name: foreignPivotKey - name: relatedPivotKey - name: parentKey - name: relatedKey - name: relationName default: 'null' - name: inverse default: 'false' comment: '# * Instantiate a new MorphToMany relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * @template TDeclaringModel of \Illuminate\Database\Eloquent\Model # * # * @param \Illuminate\Database\Eloquent\Builder $query # * @param TDeclaringModel $parent # * @param string $name # * @param string $table # * @param string $foreignPivotKey # * @param string $relatedPivotKey # * @param string $parentKey # * @param string $relatedKey # * @param string|null $relationName # * @param bool $inverse # * @return \Illuminate\Database\Eloquent\Relations\MorphToMany' - name: morphedByMany visibility: public parameters: - name: related - name: name - name: table default: 'null' - name: foreignPivotKey default: 'null' - name: relatedPivotKey default: 'null' - name: parentKey default: 'null' - name: relatedKey default: 'null' - name: relation default: 'null' comment: '# * Define a polymorphic, inverse many-to-many relationship. # * # * @template TRelatedModel of \Illuminate\Database\Eloquent\Model # * # * @param class-string $related # * @param string $name # * @param string|null $table # * @param string|null $foreignPivotKey # * @param string|null $relatedPivotKey # * @param string|null $parentKey # * @param string|null $relatedKey # * @param string|null $relation # * @return \Illuminate\Database\Eloquent\Relations\MorphToMany' - name: guessBelongsToManyRelation visibility: protected parameters: [] comment: '# * Get the relationship name of the belongsToMany relationship. # * # * @return string|null' - name: joiningTable visibility: public parameters: - name: related - name: instance default: 'null' comment: '# * Get the joining table name for a many-to-many relation. # * # * @param string $related # * @param \Illuminate\Database\Eloquent\Model|null $instance # * @return string' - name: joiningTableSegment visibility: public parameters: [] comment: '# * Get this model''s half of the intermediate table name for belongsToMany relationships. # * # * @return string' - name: touches visibility: public parameters: - name: relation comment: '# * Determine if the model touches a given relation. # * # * @param string $relation # * @return bool' - name: touchOwners visibility: public parameters: [] comment: '# * Touch the owning relations of the model. # * # * @return void' - name: getMorphs visibility: protected parameters: - name: name - name: type - name: id comment: '# * Get the polymorphic relationship columns. # * # * @param string $name # * @param string $type # * @param string $id # * @return array' - name: getMorphClass visibility: public parameters: [] comment: '# * Get the class name for polymorphic relations. # * # * @return string' - name: newRelatedInstance visibility: protected parameters: - name: class comment: '# * Create a new model instance for a related model. # * # * @param string $class # * @return mixed' - name: newRelatedThroughInstance visibility: protected parameters: - name: class comment: '# * Create a new model instance for a related "through" model. # * # * @param string $class # * @return mixed' - name: getRelations visibility: public parameters: [] comment: '# * Get all the loaded relations for the instance. # * # * @return array' - name: getRelation visibility: public parameters: - name: relation comment: '# * Get a specified relationship. # * # * @param string $relation # * @return mixed' - name: relationLoaded visibility: public parameters: - name: key comment: '# * Determine if the given relation is loaded. # * # * @param string $key # * @return bool' - name: setRelation visibility: public parameters: - name: relation - name: value comment: '# * Set the given relationship on the model. # * # * @param string $relation # * @param mixed $value # * @return $this' - name: unsetRelation visibility: public parameters: - name: relation comment: '# * Unset a loaded relationship. # * # * @param string $relation # * @return $this' - name: setRelations visibility: public parameters: - name: relations comment: '# * Set the entire relations array on the model. # * # * @param array $relations # * @return $this' - name: withoutRelations visibility: public parameters: [] comment: '# * Duplicate the instance and unset all the loaded relations. # * # * @return $this' - name: unsetRelations visibility: public parameters: [] comment: '# * Unset all the loaded relations for the instance. # * # * @return $this' - name: getTouchedRelations visibility: public parameters: [] comment: '# * Get the relationships that are touched on save. # * # * @return array' - name: setTouchedRelations visibility: public parameters: - name: touches comment: '# * Set the relationships that are touched on save. # * # * @param array $touches # * @return $this' traits: - Closure - Illuminate\Database\ClassMorphViolationException - Illuminate\Database\Eloquent\Builder - Illuminate\Database\Eloquent\Collection - Illuminate\Database\Eloquent\Model - Illuminate\Database\Eloquent\PendingHasThroughRelationship - Illuminate\Database\Eloquent\Relations\BelongsTo - Illuminate\Database\Eloquent\Relations\BelongsToMany - Illuminate\Database\Eloquent\Relations\HasMany - Illuminate\Database\Eloquent\Relations\HasManyThrough - Illuminate\Database\Eloquent\Relations\HasOne - Illuminate\Database\Eloquent\Relations\HasOneThrough - Illuminate\Database\Eloquent\Relations\MorphMany - Illuminate\Database\Eloquent\Relations\MorphOne - Illuminate\Database\Eloquent\Relations\MorphTo - Illuminate\Database\Eloquent\Relations\MorphToMany - Illuminate\Database\Eloquent\Relations\Pivot - Illuminate\Database\Eloquent\Relations\Relation - Illuminate\Support\Arr - Illuminate\Support\Str interfaces: []