October\Rain\Database\Relations\HasOne

Extends
  • Illuminate\Database\Eloquent\Relations\HasOne
  • Illuminate\Database\Eloquent\Relations\HasOneOrMany
  • Illuminate\Database\Eloquent\Relations\Relation
Implements
  • Illuminate\Contracts\Database\Eloquent\SupportsPartialRelations
  • Illuminate\Contracts\Database\Eloquent\Builder
  • Illuminate\Contracts\Database\Query\Builder

Public Properties

There are no public properties in the class.

Show inherited public properties

Inherited Public Properties

  • $morphMap - An array to map class names to their morph names in the database. (defined in Illuminate\Database\Eloquent\Relations\Relation)

Protected Properties

There are no protected properties in the class.

Show inherited protected properties

Inherited Protected Properties

  • $foreignKey - The foreign key of the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • $localKey - The local key of the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • $query - The Eloquent query builder instance. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $parent - The parent model instance. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $related - The related model instance. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $constraints - Indicates if the relation is adding constraints. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $requireMorphMap - Prevents morph relationships without a morph map. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $selfJoinCount - The count of self joins. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $macros - The registered string macros. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • $isOneOfMany - Determines whether the relationship is one-of-many. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • $relationName - The name of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • $oneOfManySubQuery - The one of many inner join subselect query builder instance. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • $withDefault - Indicates if a default model instance should be used. (defined in Illuminate\Database\Eloquent\Relations\HasOne)

Public Methods

public __construct()

public __construct(
    $query,
    $parent,
    $foreignKey,
    $localKey,
    $relationName = null
): void

__construct a new has many relationship instance.

public add()

public add($model, $sessionKey = null): void

add a model to this relationship type

public addDefinedConstraints()

public addDefinedConstraints(): void 

addDefinedConstraints to the relation query

public addDefinedConstraintsToQuery()

public addDefinedConstraintsToQuery($query, $args = null): void

public addDefinedConstraintsToRelation()

public addDefinedConstraintsToRelation($relation, $args = null): void

public addMany()

public addMany(array $models, $sessionKey = null): void 

addMany attaches an array of models to the parent instance with deferred binding support

public create()

public create($attributes = [], $sessionKey = null): void

create a new instance of this related model with deferred binding support

public getForeignKey()

public getForeignKey(): void

public getOtherKey()

public getOtherKey(): void

public getRelatedKeyName()

public getRelatedKeyName(): string 

public getSimpleValue()

public getSimpleValue(): void

getSimpleValue helper for getting this relationship simple value, generally useful with form values.

public remove()

public remove($model, $sessionKey = null): void

remove a model from this relationship type.

public save()

public save($model, $sessionKey = null): void

save the supplied related model with deferred binding support.

public saveMany()

public saveMany(array $models, $sessionKey = null): array 

saveMany is an alias for the addMany() method

public setSimpleValue()

public setSimpleValue($value): void

setSimpleValue helper for setting this relationship using various expected values. For example, $model->relation = $value;

public withDeferred()

public withDeferred(
    string|null $sessionKey = null
): Illuminate\Database\Query\Builder 

withDeferred returns a new model query with deferred bindings added, this will reset any constraints that come before it

public withDeferredQuery()

public withDeferredQuery(
    Illuminate\Database\Query\Builder|null $newQuery = null,
    string|null $sessionKey = null
): Illuminate\Database\Query\Builder 

withDeferredQuery returns the supplied model query, or current model query, with deferred bindings added, this will preserve any constraints that came before it

Show inherited public methods

Inherited Public Methods

  • __call() - Handle dynamic method calls to the relationship. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • __callStatic() - Dynamically handle calls to the class. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • __clone() - Force a clone of the underlying query builder when cloning. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • addConstraints() - Set the base constraints on the relation query. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • addEagerConstraints() - Set the constraints for an eager load of the relation. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • addOneOfManyJoinSubQueryConstraints() - Add join query constraints for one of many relationships. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • addOneOfManySubQueryConstraints() - Add constraints for inner join subselect for one of many relationships. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • createMany() - Create a Collection of new instances of the related model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • createManyQuietly() - Create a Collection of new instances of the related model without raising any events to the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • createQuietly() - Create a new instance of the related model without raising any events to the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • createdAt() - Get the name of the "created at" column. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • enforceMorphMap() - Define the morph map for polymorphic relations and require all morphed models to be explicitly mapped. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • findOrNew() - Find a model by its primary key or return a new instance of the related model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • firstOrCreate() - Get the first related record matching the attributes or create it. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • firstOrNew() - Get the first related model record matching the attributes or instantiate it. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • flushMacros() - Flush the existing macros. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • forceCreate() - Create a new instance of the related model. Allow mass-assignment. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • get() - Execute the query as a "select" statement. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getBaseQuery() - Get the base query builder driving the Eloquent builder. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getEager() - Get the relationship for eager loading. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getExistenceCompareKey() - Get the key for comparing against the parent key in "has" query. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getForeignKeyName() - Get the plain foreign key. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getLocalKeyName() - Get the local key for the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getMorphedModel() - Get the model associated with a custom polymorphic type. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getOneOfManySubQuery() - Get the one of many inner join subselect builder instance. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getOneOfManySubQuerySelectColumns() - Get the columns that should be selected by the one of many subquery. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getParent() - Get the parent model of the relation. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getParentKey() - Get the key value of the parent's local key. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getQualifiedForeignKeyName() - Get the foreign key for the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getQualifiedParentKeyName() - Get the fully qualified parent key name. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getQuery() - Get the underlying query for the relation. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getRelated() - Get the related model of the relation. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getRelationCountHash() - Get a relationship join table hash. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getRelationExistenceCountQuery() - Add the constraints for a relationship count query. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getRelationExistenceQuery() - Add the constraints for an internal relationship existence query. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getRelationExistenceQueryForSelfRelation() - Add the constraints for a relationship query on the same table. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getRelationName() - Get the name of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getResults() - Get the results of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • hasMacro() - Checks if macro is registered. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • initRelation() - Initialize the relation on a set of models. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • is() - Determine if the model is the related instance of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • isNot() - Determine if the model is not the related instance of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • isOneOfMany() - Determine whether the relationship is a one-of-many relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • latestOfMany() - Indicate that the relation is the latest single result of a larger one-to-many relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • macro() - Register a custom macro. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • macroCall() - Dynamically handle calls to the class. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • make() - Create and return an un-saved instance of the related model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • makeMany() - Create and return an un-saved instance of the related models. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • match() - Match the eagerly loaded results to their parents. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • matchMany() - Match the eagerly loaded results to their many parents. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • matchOne() - Match the eagerly loaded results to their single parents. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • mixin() - Mix another object into the class. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • morphMap() - Set or get the morph map for polymorphic relations. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • newRelatedInstanceFor() - Make a new related instance for the given model. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • noConstraints() - Run a callback with constraints disabled on the relation. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • ofMany() - Indicate that the relation is a single result of a larger one-to-many relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • oldestOfMany() - Indicate that the relation is the oldest single result of a larger one-to-many relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • qualifySubSelectColumn() - Get the qualified column name for the one-of-many relationship using the subselect join query's alias. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • rawUpdate() - Run a raw update against the base query. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • relatedUpdatedAt() - Get the name of the related model's "updated at" column. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • requireMorphMap() - Prevent polymorphic relationships from being used without model mappings. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • requiresMorphMap() - Determine if polymorphic relationships require explicit model mapping. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • saveManyQuietly() - Attach a collection of models to the parent instance without raising any events to the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • saveQuietly() - Attach a model instance without raising any events to the parent model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • sole() - Execute the query and get the first result if it's the sole matching record. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • toBase() - Get a base query builder instance. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • touch() - Touch all of the related models for the relationship. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • updateOrCreate() - Create or update a related record matching the attributes, and fill it with values. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • updatedAt() - Get the name of the "updated at" column. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • withDefault() - Return a new model instance in case the relationship does not exist. (defined in Illuminate\Database\Eloquent\Relations\HasOne)

Protected Methods

protected ensureRelationIsEmpty()

protected ensureRelationIsEmpty(): void

ensureRelationIsEmpty ensures the relation is empty, either deleted or nulled.

protected getWithDeferredQualifiedKeyName()

protected getWithDeferredQualifiedKeyName(

): Illuminate\Database\Query\Expression 

getWithDeferredQualifiedKeyName returns the related "slave id" key in a database friendly format.

protected isModelRemovable()

protected isModelRemovable($model): bool 

isModelRemovable returns true if an existing model is already associated

Show inherited protected methods

Inherited Protected Methods

  • addOneOfManyJoinSubQuery() - Add the join subquery to the given query on the given column and the relationship's foreign key. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • buildDictionary() - Build model dictionary keyed by the relation's foreign key. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • buildMorphMapFromModels() - Builds a table-keyed array from model class names. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • compareKeys() - Compare the parent key with the related key. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • forwardCallTo() - Forward a method call to the given object. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • forwardDecoratedCallTo() - Forward a method call to the given object, returning $this if the forwarded call returned itself. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getDefaultFor() - Get the default value for this relation. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getDefaultOneOfManyJoinAlias() - Get the default alias for the one of many inner join clause. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getDictionaryKey() - Get a dictionary key attribute - casting it to a string if necessary. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • getKeys() - Get all of the primary keys for an array of models. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • getRelatedKeyFrom() - Get the value of the model's foreign key. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getRelationQuery() - Get the query builder that will contain the relationship constraints. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • getRelationValue() - Get the value of a relationship by one or many type. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • guessRelationship() - Guess the "hasOne" relationship's name via backtrace. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • matchOneOrMany() - Match the eagerly loaded results to their many parents. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • mergeOneOfManyJoinsTo() - Merge the relationship query joins to the given query builder. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • newOneOfManySubQuery() - Get a new query for the related model, grouping the query by the given column, often the foreign key of the relationship. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • qualifyRelatedColumn() - Qualify related column using the related table name if it is not already qualified. (defined in Illuminate\Database\Eloquent\Relations\HasOne)
  • setForeignAttributesForCreate() - Set the foreign ID for creating a related model. (defined in Illuminate\Database\Eloquent\Relations\HasOneOrMany)
  • throwBadMethodCallException() - Throw a bad method call exception for the given method. (defined in Illuminate\Database\Eloquent\Relations\Relation)
  • whereInMethod() - Get the name of the "where in" method for eager loading. (defined in Illuminate\Database\Eloquent\Relations\Relation)