*/ class BelongsToMany extends Relation { /** * Find a related model by its primary key or return new instance of the related model. * * @param mixed $id * @param array $columns * @return \Illuminate\Support\Collection|TRelatedModel */ public function findOrNew($id, $columns = ['*']); /** * Get the first related model record matching the attributes or instantiate it. * * @param array $attributes * @return TRelatedModel */ public function firstOrNew(array $attributes); /** * Get the first related record matching the attributes or create it. * * @param array $attributes * @param array $joining * @param bool $touch * @return TRelatedModel */ public function firstOrCreate(array $attributes, array $joining = [], $touch = true); /** * Create or update a related record matching the attributes, and fill it with values. * * @param array $attributes * @param array $values * @param array $joining * @param bool $touch * @return TRelatedModel */ public function updateOrCreate(array $attributes, array $values = [], array $joining = [], $touch = true); /** * Find a related model by its primary key. * * @param mixed $id * @param array $columns * @return TRelatedModel|\Illuminate\Database\Eloquent\Collection|null */ public function find($id, $columns = ['*']); /** * Find multiple related models by their primary keys. * * @param \Illuminate\Contracts\Support\Arrayable|int[] $ids * @param array $columns * @return \Illuminate\Database\Eloquent\Collection */ public function findMany($ids, $columns = ['*']); /** * Find a related model by its primary key or throw an exception. * * @param mixed $id * @param array $columns * @return TRelatedModel|\Illuminate\Database\Eloquent\Collection * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException */ public function findOrFail($id, $columns = ['*']); /** * Execute the query and get the first result. * * @param array $columns * @return TRelatedModel|null */ public function first($columns = ['*']); /** * Execute the query and get the first result or throw an exception. * * @param array $columns * @return TRelatedModel * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException */ public function firstOrFail($columns = ['*']); /** * Create a new instance of the related model. * * @param array, mixed> $attributes * @param mixed[] $joining * @param bool $touch * @return TRelatedModel */ public function create(array $attributes = [], array $joining = [], $touch = true); /** * Get the results of the relationship. * * @phpstan-return \Illuminate\Database\Eloquent\Collection */ public function getResults(); }