BelongsToMany
class BelongsToMany extends Relation (View source)
Methods
void | __construct(Builder $query, Model $parent, string $table, string $foreignKey, string $otherKey, string $relationName = null) Create a new belongs to many relationship instance. | |
void | addConstraints() Set the base constraints on the relation query. | |
void | addEagerConstraints(array $models) Set the constraints for an eager load of the relation. | |
array | initRelation(array $models, string $relation) Initialize the relation on a set of models. | |
array | match(array $models, Collection $results, string $relation) Match the eagerly loaded results to their parents. | |
mixed | getResults() Get the results of the relationship. | |
Collection | getEager() Get the relationship for eager loading. | from Relation |
void | touch() Touch all of the related models for the relationship. | |
int | rawUpdate(array $attributes = array()) Run a raw update against the base query. | from Relation |
Builder | getRelationCountQuery(Builder $query, Builder $parent) Add the constraints for a relationship count query. | from Relation |
Builder | getRelationQuery(Builder $query, Builder $parent, array|mixed $columns = array('*')) Add the constraints for a relationship query. | |
static mixed | noConstraints(Closure $callback) Run a callback with constraints disabled on the relation. | from Relation |
Builder | getQuery() Get the underlying query for the relation. | from Relation |
Builder | getBaseQuery() Get the base query builder driving the Eloquent builder. | from Relation |
Model | getParent() Get the parent model of the relation. | from Relation |
string | getQualifiedParentKeyName() Get the fully qualified parent key name. | from Relation |
Model | getRelated() Get the related model of the relation. | from Relation |
string | createdAt() Get the name of the "created at" column. | |
string | updatedAt() Get the name of the "updated at" column. | |
string | relatedUpdatedAt() Get the name of the related model's "updated at" column. | from Relation |
string | wrap(string $value) Wrap the given value with the parent query's grammar. | from Relation |
static array | morphMap(array $map = null, bool $merge = true) Set or get the morph map for polymorphic relations. | from Relation |
mixed | __call(string $method, array $parameters) Handle dynamic method calls to the relationship. | from Relation |
void | __clone() Force a clone of the underlying query builder when cloning. | from Relation |
BelongsToMany | wherePivot(string $column, string $operator = null, mixed $value = null, string $boolean = 'and') Set a where clause for a pivot table column. | |
BelongsToMany | wherePivotIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) Set a "where in" clause for a pivot table column. | |
BelongsToMany | orWherePivot(string $column, string $operator = null, mixed $value = null) Set an "or where" clause for a pivot table column. | |
BelongsToMany | orWherePivotIn(string $column, mixed $values) Set an "or where in" clause for a pivot table column. | |
mixed | first(array $columns = array('*')) Execute the query and get the first result. | |
Model|BelongsToMany | firstOrFail(array $columns = array('*')) Execute the query and get the first result or throw an exception. | |
Collection | get(array $columns = array('*')) Execute the query as a "select" statement. | |
LengthAwarePaginator | paginate(int $perPage = null, array $columns = array('*'), string $pageName = 'page', int|null $page = null) Get a paginator for the "select" statement. | |
Paginator | simplePaginate(int $perPage = null, array $columns = array('*'), string $pageName = 'page', int|null $page = null) Paginate the given query into a simple paginator. | |
bool | chunk(int $count, callable $callback) Chunk the results of the query. | |
Builder | getRelationQueryForSelfJoin(Builder $query, Builder $parent, array|mixed $columns = array('*')) Add the constraints for a relationship query on the same table. | |
string | getRelationCountHash() Get a relationship join table hash. | |
Collection | getRelatedIds() Get all of the IDs for the related models. | |
Model | save(Model $model, array $joining = array(), bool $touch = true) Save a new model and attach it to the parent model. | |
array | saveMany(Collection|array $models, array $joinings = array()) Save an array of new models and attach them to the parent model. | |
Model|Collection|null | find(mixed $id, array $columns = array('*')) Find a related model by its primary key. | |
Collection | findMany(mixed $ids, array $columns = array('*')) Find multiple related models by their primary keys. | |
Model|Collection | findOrFail(mixed $id, array $columns = array('*')) Find a related model by its primary key or throw an exception. | |
Collection|Model | findOrNew(mixed $id, array $columns = array('*')) Find a related model by its primary key or return new instance of the related model. | |
Model | firstOrNew(array $attributes) Get the first related model record matching the attributes or instantiate it. | |
Model | firstOrCreate(array $attributes, array $joining = array(), bool $touch = true) Get the first related record matching the attributes or create it. | |
Model | updateOrCreate(array $attributes, array $values = array(), array $joining = array(), bool $touch = true) Create or update a related record matching the attributes, and fill it with values. | |
Model | create(array $attributes, array $joining = array(), bool $touch = true) Create a new instance of the related model. | |
array | createMany(array $records, array $joinings = array()) Create an array of new instances of the related models. | |
array | toggle(mixed $ids, bool $touch = true) Toggles a model (or models) from the parent. | |
array | syncWithoutDetaching(Collection|array $ids) Sync the intermediate tables with a list of IDs without detaching. | |
array | sync(Collection|array $ids, bool $detaching = true) Sync the intermediate tables with a list of IDs or collection of models. | |
int | updateExistingPivot(mixed $id, array $attributes, bool $touch = true) Update an existing pivot record on the table. | |
void | attach(mixed $id, array $attributes = array(), bool $touch = true) Attach a model to the parent. | |
int | detach(mixed $ids = array(), bool $touch = true) Detach models from the relationship. | |
void | touchIfTouching() If we're touching the parent model, touch. | |
Builder | newPivotStatement() Get a new plain query builder for the pivot table. | |
Builder | newPivotStatementForId(mixed $id) Get a new pivot statement for a given "other" ID. | |
Pivot | newPivot(array $attributes = array(), bool $exists = false) Create a new pivot model instance. | |
Pivot | newExistingPivot(array $attributes = array()) Create a new existing pivot model instance. | |
$this | withPivot(array|mixed $columns) Set the columns on the pivot table to retrieve. | |
BelongsToMany | withTimestamps(mixed $createdAt = null, mixed $updatedAt = null) Specify that the pivot table has creation and update timestamps. | |
string | getRelatedFreshUpdate() Get the related model's updated at column name. | |
string | getHasCompareKey() Get the key for comparing against the parent key in "has" query. | |
string | getForeignKey() Get the fully qualified foreign key for the relation. | |
string | getOtherKey() Get the fully qualified "other key" for the relation. | |
string | getTable() Get the intermediate table for the relationship. | |
string | getRelationName() Get the relationship name for the relationship. |
Please login to continue.