From 08aafc51aa2e5bdbd1ddb9acbf19783d43166dc7 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Wed, 7 Jul 2021 20:29:18 -0400 Subject: [PATCH 01/14] Initial extraction of contract and trait --- .../Contracts/Database/QueryBuilder.php | 1195 ++++++++++++++++ src/Illuminate/Database/Eloquent/Builder.php | 57 +- .../Concerns/DecoratesQueryBuilder.php | 1212 +++++++++++++++++ .../Database/Eloquent/Relations/Relation.php | 21 +- src/Illuminate/Database/Query/Builder.php | 13 +- 5 files changed, 2442 insertions(+), 56 deletions(-) create mode 100644 src/Illuminate/Contracts/Database/QueryBuilder.php create mode 100644 src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php diff --git a/src/Illuminate/Contracts/Database/QueryBuilder.php b/src/Illuminate/Contracts/Database/QueryBuilder.php new file mode 100644 index 000000000000..0180221f8e14 --- /dev/null +++ b/src/Illuminate/Contracts/Database/QueryBuilder.php @@ -0,0 +1,1195 @@ +query = $query; } @@ -831,7 +800,7 @@ public function simplePaginate($perPage = null, $columns = ['*'], $pageName = 'p * @param int|null $perPage * @param array $columns * @param string $cursorName - * @param string|null $cursor + * @param \Illuminate\Pagination\Cursor|null $cursor * @return \Illuminate\Contracts\Pagination\CursorPaginator * @throws \Illuminate\Pagination\CursorPaginationException */ @@ -1239,7 +1208,7 @@ protected function callNamedScope($scope, array $parameters = []) * @param int $originalWhereCount * @return void */ - protected function addNewWheresWithinGroup(QueryBuilder $query, $originalWhereCount) + protected function addNewWheresWithinGroup(BaseBuilder $query, $originalWhereCount) { // Here, we totally remove all of the where clauses since we are going to // rebuild them as nested queries by slicing the groups of wheres into @@ -1264,7 +1233,7 @@ protected function addNewWheresWithinGroup(QueryBuilder $query, $originalWhereCo * @param array $whereSlice * @return void */ - protected function groupWhereSliceForScope(QueryBuilder $query, $whereSlice) + protected function groupWhereSliceForScope(BaseBuilder $query, $whereSlice) { $whereBooleans = collect($whereSlice)->pluck('boolean'); @@ -1651,10 +1620,6 @@ public function __call($method, $parameters) return $this->callNamedScope($method, $parameters); } - if (in_array($method, $this->passthru)) { - return $this->toBase()->{$method}(...$parameters); - } - $this->forwardCallTo($this->query, $method, $parameters); return $this; diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php new file mode 100644 index 000000000000..582040ba9d5d --- /dev/null +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -0,0 +1,1212 @@ +forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function selectSub($query, $as) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function selectRaw($expression, array $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function fromSub($query, $as) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function fromRaw($expression, $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function addSelect($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function distinct() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function from($table, $as = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function joinWhere($table, $first, $operator, $second, $type = 'inner') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function leftJoin($table, $first, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function leftJoinWhere($table, $first, $operator, $second) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function leftJoinSub($query, $as, $first, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function rightJoin($table, $first, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function rightJoinWhere($table, $first, $operator, $second) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function rightJoinSub($query, $as, $first, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function crossJoin($table, $first = null, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function crossJoinSub($query, $as) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function mergeWheres($wheres, $bindings) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function where($column, $operator = null, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function prepareValueAndOperator($value, $operator, $useDefault = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhere($column, $operator = null, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereColumn($first, $operator = null, $second = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereRaw($sql, $bindings = [], $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereRaw($sql, $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereIn($column, $values, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereIn($column, $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNotIn($column, $values, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNotIn($column, $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereIntegerInRaw($column, $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereIntegerNotInRaw($column, $values, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereIntegerNotInRaw($column, $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNull($columns, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNull($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNotNull($columns, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereBetween($column, iterable $values, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereBetween($column, iterable $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereBetweenColumns($column, array $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNotBetween($column, iterable $values, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNotBetweenColumns($column, array $values, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNotBetween($column, iterable $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNotBetweenColumns($column, array $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNotNull($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereDate($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereDate($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereTime($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereTime($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereDay($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereDay($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereMonth($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereMonth($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereYear($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereYear($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNested(Closure $callback, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function addNestedWhereQuery($query, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereExists(Closure $callback, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereExists(Closure $callback, $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereNotExists(Closure $callback, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereNotExists(Closure $callback) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereRowValues($columns, $operator, $values, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereRowValues($columns, $operator, $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereJsonContains($column, $value, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereJsonContains($column, $value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereJsonDoesntContain($column, $value, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereJsonDoesntContain($column, $value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orWhereJsonLength($column, $operator, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function groupBy(...$groups) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function groupByRaw($sql, array $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function having($column, $operator = null, $value = null, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orHaving($column, $operator = null, $value = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function havingNull($columns, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orHavingNull($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function havingNotNull($columns, $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orHavingNotNull($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function havingBetween($column, array $values, $boolean = 'and', $not = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function havingRaw($sql, array $bindings = [], $boolean = 'and') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orHavingRaw($sql, array $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orderBy($column, $direction = 'asc') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orderByDesc($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function latest($column = 'created_at') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function oldest($column = 'created_at') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function inRandomOrder($seed = '') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function orderByRaw($sql, $bindings = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function skip($value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function offset($value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function take($value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function limit($value) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function forPage($page, $perPage = 15) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function reorder($column = null, $direction = 'asc') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function union($query, $all = false) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function unionAll($query) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function lock($value = true) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function lockForUpdate() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function sharedLock() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function toSql() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function find($id, $columns = ['*']) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function value($column) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function get($columns = ['*']) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function cursor() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function pluck($column, $key = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function implode($column, $glue = '') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function exists() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function doesntExist() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function existsOr(Closure $callback) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function doesntExistOr(Closure $callback) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function count($columns = '*') + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function min($column) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function max($column) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function sum($column) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function avg($column) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function average($column) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function aggregate($function, $columns = ['*']) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function numericAggregate($function, $columns = ['*']) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function insert(array $values) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function insertOrIgnore(array $values) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function insertGetId(array $values, $sequence = null) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function insertUsing(array $columns, $query) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function update(array $values) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function updateOrInsert(array $attributes, array $values = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function upsert(array $values, $uniqueBy, $update = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function increment($column, $amount = 1, array $extra = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function decrement($column, $amount = 1, array $extra = []) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function delete($id = null) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function truncate() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function newQuery() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function raw($value) + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function getBindings() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function getRawBindings() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function setBindings(array $bindings, $type = 'where') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function addBinding($value, $type = 'where') + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function mergeBindings(QueryBuilder $query) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function cleanBindings(array $bindings) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function getConnection() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function getProcessor() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function getGrammar() + { + return $this->toBase()->{__FUNCTION__}(...func_get_args()); + } + + /** + * @inheritdoc + */ + public function useWritePdo() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function clone() + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function cloneWithout(array $properties) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @inheritdoc + */ + public function cloneWithoutBindings(array $except) + { + return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + } + + /** + * @param $method + * @param $parameters + * + * @return static|mixed + */ + protected function forwardCallToQueryBuilder($method, $parameters) + { + $result = $this->forwardCallTo($this->query, $method, $parameters); + + if ($result === $this->query) { + return $this; + } + + return $result; + } +} diff --git a/src/Illuminate/Database/Eloquent/Relations/Relation.php b/src/Illuminate/Database/Eloquent/Relations/Relation.php index 7fe9f3e9fa82..bc7bdb8c92b1 100755 --- a/src/Illuminate/Database/Eloquent/Relations/Relation.php +++ b/src/Illuminate/Database/Eloquent/Relations/Relation.php @@ -3,8 +3,10 @@ namespace Illuminate\Database\Eloquent\Relations; use Closure; +use Illuminate\Contracts\Database\QueryBuilder; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; +use Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Database\MultipleRecordsFoundException; @@ -13,12 +15,9 @@ use Illuminate\Support\Traits\ForwardsCalls; use Illuminate\Support\Traits\Macroable; -/** - * @mixin \Illuminate\Database\Eloquent\Builder - */ -abstract class Relation +abstract class Relation implements QueryBuilder { - use ForwardsCalls, Macroable { + use DecoratesQueryBuilder, ForwardsCalls, Macroable { __call as macroCall; } @@ -294,9 +293,21 @@ public function getQuery() /** * Get the base query builder driving the Eloquent builder. * + * @deprecated Use toBase() instead + * * @return \Illuminate\Database\Query\Builder */ public function getBaseQuery() + { + return $this->toBase(); + } + + /** + * Get a base query builder instance. + * + * @return \Illuminate\Database\Query\Builder + */ + public function toBase() { return $this->query->getQuery(); } diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 6578e3c7d859..1e51a376f62b 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -4,6 +4,7 @@ use Closure; use DateTimeInterface; +use Illuminate\Contracts\Database\QueryBuilder; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Database\Concerns\BuildsQueries; use Illuminate\Database\Concerns\ExplainsQueries; @@ -24,7 +25,7 @@ use InvalidArgumentException; use RuntimeException; -class Builder +class Builder implements QueryBuilder { use BuildsQueries, ExplainsQueries, ForwardsCalls, Macroable { __call as macroCall; @@ -666,7 +667,7 @@ protected function newJoinClause(self $parentQuery, $type, $table) * * @param array $wheres * @param array $bindings - * @return void + * @return $this */ public function mergeWheres($wheres, $bindings) { @@ -675,6 +676,8 @@ public function mergeWheres($wheres, $bindings) $this->bindings['where'] = array_values( array_merge($this->bindings['where'], (array) $bindings) ); + + return $this; } /** @@ -2459,7 +2462,7 @@ public function simplePaginate($perPage = 15, $columns = ['*'], $pageName = 'pag * @param int|null $perPage * @param array $columns * @param string $cursorName - * @param string|null $cursor + * @param \Illuminate\Pagination\Cursor|null $cursor * @return \Illuminate\Contracts\Pagination\CursorPaginator * @throws \Illuminate\Pagination\CursorPaginationException */ @@ -3336,9 +3339,9 @@ public function addBinding($value, $type = 'where') * @param \Illuminate\Database\Query\Builder $query * @return $this */ - public function mergeBindings(self $query) + public function mergeBindings(QueryBuilder $query) { - $this->bindings = array_merge_recursive($this->bindings, $query->bindings); + $this->bindings = array_merge_recursive($this->bindings, $query->getRawBindings()); return $this; } From 8a988fff81ec5c070482011034e341dc65e776bf Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Wed, 7 Jul 2021 20:57:04 -0400 Subject: [PATCH 02/14] Add support for MorphTo macro buffer --- .../Database/Eloquent/Relations/MorphTo.php | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 262741f30cfb..01d77c3c11a0 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -350,6 +350,34 @@ public function constrain(array $callbacks) return $this; } + public function select($columns = ['*']) + { + $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + + return parent::select($columns); + } + + public function selectRaw($expression, array $bindings = []) + { + $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + + return parent::selectRaw($expression, $bindings); + } + + public function selectSub($query, $as) + { + $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + + return parent::selectSub($query, $as); + } + + public function addSelect($column) + { + $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + + return parent::addSelect($column); + } + /** * Replay stored macro calls on the actual related instance. * From 3b290c41fee3f410a482b79a55ba9373ab9aaa5f Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 8 Jul 2021 09:02:22 -0400 Subject: [PATCH 03/14] Improved docblocks --- .../Contracts/Database/QueryBuilder.php | 12 +- .../Concerns/DecoratesQueryBuilder.php | 154 ++-- src/Illuminate/Database/Query/Builder.php | 750 +++--------------- 3 files changed, 199 insertions(+), 717 deletions(-) diff --git a/src/Illuminate/Contracts/Database/QueryBuilder.php b/src/Illuminate/Contracts/Database/QueryBuilder.php index 0180221f8e14..4b218fb1e1ec 100644 --- a/src/Illuminate/Contracts/Database/QueryBuilder.php +++ b/src/Illuminate/Contracts/Database/QueryBuilder.php @@ -232,7 +232,7 @@ public function mergeWheres($wheres, $bindings); /** * Add a basic where clause to the query. * - * @param \Closure|string|array $column + * @param \Closure|QueryBuilder|string|array $column * @param mixed $operator * @param mixed $value * @param string $boolean @@ -255,7 +255,7 @@ public function prepareValueAndOperator($value, $operator, $useDefault = false); /** * Add an "or where" clause to the query. * - * @param \Closure|string|array $column + * @param \Closure|QueryBuilder|string|array $column * @param mixed $operator * @param mixed $value * @@ -899,7 +899,7 @@ public function orHavingRaw($sql, array $bindings = []); /** * Add an "order by" clause to the query. * - * @param \Closure|static|\Illuminate\Database\Query\Expression|string $column + * @param \Closure|\Illuminate\Database\Query\Expression|QueryBuilder|string $column * @param string $direction * * @return static @@ -909,7 +909,7 @@ public function orderBy($column, $direction = 'asc'); /** * Add a descending "order by" clause to the query. * - * @param string $column + * @param \Closure|\Illuminate\Database\Query\Expression|QueryBuilder|string $column * * @return static */ @@ -918,7 +918,7 @@ public function orderByDesc($column); /** * Add an "order by" clause for a timestamp to the query. * - * @param string $column + * @param \Closure|\Illuminate\Database\Query\Expression|QueryBuilder|string $column * * @return static */ @@ -927,7 +927,7 @@ public function latest($column = 'created_at'); /** * Add an "order by" clause for a timestamp to the query. * - * @param string $column + * @param \Closure|\Illuminate\Database\Query\Expression|QueryBuilder|string $column * * @return static */ diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php index 582040ba9d5d..c3d6ece141d8 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -26,7 +26,7 @@ trait DecoratesQueryBuilder abstract public function toBase(); /** - * @inheritdoc + * {@inheritdoc} */ public function select($columns = ['*']) { @@ -34,7 +34,7 @@ public function select($columns = ['*']) } /** - * @inheritdoc + * {@inheritdoc} */ public function selectSub($query, $as) { @@ -42,7 +42,7 @@ public function selectSub($query, $as) } /** - * @inheritdoc + * {@inheritdoc} */ public function selectRaw($expression, array $bindings = []) { @@ -50,7 +50,7 @@ public function selectRaw($expression, array $bindings = []) } /** - * @inheritdoc + * {@inheritdoc} */ public function fromSub($query, $as) { @@ -58,7 +58,7 @@ public function fromSub($query, $as) } /** - * @inheritdoc + * {@inheritdoc} */ public function fromRaw($expression, $bindings = []) { @@ -66,7 +66,7 @@ public function fromRaw($expression, $bindings = []) } /** - * @inheritdoc + * {@inheritdoc} */ public function addSelect($column) { @@ -74,7 +74,7 @@ public function addSelect($column) } /** - * @inheritdoc + * {@inheritdoc} */ public function distinct() { @@ -82,7 +82,7 @@ public function distinct() } /** - * @inheritdoc + * {@inheritdoc} */ public function from($table, $as = null) { @@ -90,7 +90,7 @@ public function from($table, $as = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -98,7 +98,7 @@ public function join($table, $first, $operator = null, $second = null, $type = ' } /** - * @inheritdoc + * {@inheritdoc} */ public function joinWhere($table, $first, $operator, $second, $type = 'inner') { @@ -106,7 +106,7 @@ public function joinWhere($table, $first, $operator, $second, $type = 'inner') } /** - * @inheritdoc + * {@inheritdoc} */ public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -114,7 +114,7 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ } /** - * @inheritdoc + * {@inheritdoc} */ public function leftJoin($table, $first, $operator = null, $second = null) { @@ -122,7 +122,7 @@ public function leftJoin($table, $first, $operator = null, $second = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function leftJoinWhere($table, $first, $operator, $second) { @@ -130,7 +130,7 @@ public function leftJoinWhere($table, $first, $operator, $second) } /** - * @inheritdoc + * {@inheritdoc} */ public function leftJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -138,7 +138,7 @@ public function leftJoinSub($query, $as, $first, $operator = null, $second = nul } /** - * @inheritdoc + * {@inheritdoc} */ public function rightJoin($table, $first, $operator = null, $second = null) { @@ -146,7 +146,7 @@ public function rightJoin($table, $first, $operator = null, $second = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function rightJoinWhere($table, $first, $operator, $second) { @@ -154,7 +154,7 @@ public function rightJoinWhere($table, $first, $operator, $second) } /** - * @inheritdoc + * {@inheritdoc} */ public function rightJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -162,7 +162,7 @@ public function rightJoinSub($query, $as, $first, $operator = null, $second = nu } /** - * @inheritdoc + * {@inheritdoc} */ public function crossJoin($table, $first = null, $operator = null, $second = null) { @@ -170,7 +170,7 @@ public function crossJoin($table, $first = null, $operator = null, $second = nul } /** - * @inheritdoc + * {@inheritdoc} */ public function crossJoinSub($query, $as) { @@ -178,7 +178,7 @@ public function crossJoinSub($query, $as) } /** - * @inheritdoc + * {@inheritdoc} */ public function mergeWheres($wheres, $bindings) { @@ -186,7 +186,7 @@ public function mergeWheres($wheres, $bindings) } /** - * @inheritdoc + * {@inheritdoc} */ public function where($column, $operator = null, $value = null, $boolean = 'and') { @@ -194,7 +194,7 @@ public function where($column, $operator = null, $value = null, $boolean = 'and' } /** - * @inheritdoc + * {@inheritdoc} */ public function prepareValueAndOperator($value, $operator, $useDefault = false) { @@ -202,7 +202,7 @@ public function prepareValueAndOperator($value, $operator, $useDefault = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhere($column, $operator = null, $value = null) { @@ -210,7 +210,7 @@ public function orWhere($column, $operator = null, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') { @@ -218,7 +218,7 @@ public function whereColumn($first, $operator = null, $second = null, $boolean = } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereColumn($first, $operator = null, $second = null) { @@ -226,7 +226,7 @@ public function orWhereColumn($first, $operator = null, $second = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereRaw($sql, $bindings = [], $boolean = 'and') { @@ -234,7 +234,7 @@ public function whereRaw($sql, $bindings = [], $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereRaw($sql, $bindings = []) { @@ -242,7 +242,7 @@ public function orWhereRaw($sql, $bindings = []) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereIn($column, $values, $boolean = 'and', $not = false) { @@ -250,7 +250,7 @@ public function whereIn($column, $values, $boolean = 'and', $not = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereIn($column, $values) { @@ -258,7 +258,7 @@ public function orWhereIn($column, $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNotIn($column, $values, $boolean = 'and') { @@ -266,7 +266,7 @@ public function whereNotIn($column, $values, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNotIn($column, $values) { @@ -274,7 +274,7 @@ public function orWhereNotIn($column, $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) { @@ -282,7 +282,7 @@ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = fal } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereIntegerInRaw($column, $values) { @@ -290,7 +290,7 @@ public function orWhereIntegerInRaw($column, $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') { @@ -298,7 +298,7 @@ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereIntegerNotInRaw($column, $values) { @@ -306,7 +306,7 @@ public function orWhereIntegerNotInRaw($column, $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNull($columns, $boolean = 'and', $not = false) { @@ -314,7 +314,7 @@ public function whereNull($columns, $boolean = 'and', $not = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNull($column) { @@ -322,7 +322,7 @@ public function orWhereNull($column) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNotNull($columns, $boolean = 'and') { @@ -330,7 +330,7 @@ public function whereNotNull($columns, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function whereBetween($column, iterable $values, $boolean = 'and', $not = false) { @@ -338,7 +338,7 @@ public function whereBetween($column, iterable $values, $boolean = 'and', $not = } /** - * @inheritdoc + * {@inheritdoc} */ public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false) { @@ -346,7 +346,7 @@ public function whereBetweenColumns($column, array $values, $boolean = 'and', $n } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereBetween($column, iterable $values) { @@ -354,7 +354,7 @@ public function orWhereBetween($column, iterable $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereBetweenColumns($column, array $values) { @@ -362,7 +362,7 @@ public function orWhereBetweenColumns($column, array $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNotBetween($column, iterable $values, $boolean = 'and') { @@ -370,7 +370,7 @@ public function whereNotBetween($column, iterable $values, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') { @@ -378,7 +378,7 @@ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNotBetween($column, iterable $values) { @@ -386,7 +386,7 @@ public function orWhereNotBetween($column, iterable $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNotBetweenColumns($column, array $values) { @@ -394,7 +394,7 @@ public function orWhereNotBetweenColumns($column, array $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNotNull($column) { @@ -402,7 +402,7 @@ public function orWhereNotNull($column) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereDate($column, $operator, $value = null, $boolean = 'and') { @@ -410,7 +410,7 @@ public function whereDate($column, $operator, $value = null, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereDate($column, $operator, $value = null) { @@ -418,7 +418,7 @@ public function orWhereDate($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereTime($column, $operator, $value = null, $boolean = 'and') { @@ -426,7 +426,7 @@ public function whereTime($column, $operator, $value = null, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereTime($column, $operator, $value = null) { @@ -434,7 +434,7 @@ public function orWhereTime($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereDay($column, $operator, $value = null, $boolean = 'and') { @@ -442,7 +442,7 @@ public function whereDay($column, $operator, $value = null, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereDay($column, $operator, $value = null) { @@ -450,7 +450,7 @@ public function orWhereDay($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereMonth($column, $operator, $value = null, $boolean = 'and') { @@ -458,7 +458,7 @@ public function whereMonth($column, $operator, $value = null, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereMonth($column, $operator, $value = null) { @@ -466,7 +466,7 @@ public function orWhereMonth($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereYear($column, $operator, $value = null, $boolean = 'and') { @@ -474,7 +474,7 @@ public function whereYear($column, $operator, $value = null, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereYear($column, $operator, $value = null) { @@ -482,7 +482,7 @@ public function orWhereYear($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNested(Closure $callback, $boolean = 'and') { @@ -490,7 +490,7 @@ public function whereNested(Closure $callback, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function addNestedWhereQuery($query, $boolean = 'and') { @@ -498,7 +498,7 @@ public function addNestedWhereQuery($query, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function whereExists(Closure $callback, $boolean = 'and', $not = false) { @@ -506,7 +506,7 @@ public function whereExists(Closure $callback, $boolean = 'and', $not = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereExists(Closure $callback, $not = false) { @@ -514,7 +514,7 @@ public function orWhereExists(Closure $callback, $not = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereNotExists(Closure $callback, $boolean = 'and') { @@ -522,7 +522,7 @@ public function whereNotExists(Closure $callback, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereNotExists(Closure $callback) { @@ -530,7 +530,7 @@ public function orWhereNotExists(Closure $callback) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereRowValues($columns, $operator, $values, $boolean = 'and') { @@ -538,7 +538,7 @@ public function whereRowValues($columns, $operator, $values, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereRowValues($columns, $operator, $values) { @@ -546,7 +546,7 @@ public function orWhereRowValues($columns, $operator, $values) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereJsonContains($column, $value, $boolean = 'and', $not = false) { @@ -554,7 +554,7 @@ public function whereJsonContains($column, $value, $boolean = 'and', $not = fals } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereJsonContains($column, $value) { @@ -562,7 +562,7 @@ public function orWhereJsonContains($column, $value) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereJsonDoesntContain($column, $value, $boolean = 'and') { @@ -570,7 +570,7 @@ public function whereJsonDoesntContain($column, $value, $boolean = 'and') } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereJsonDoesntContain($column, $value) { @@ -578,7 +578,7 @@ public function orWhereJsonDoesntContain($column, $value) } /** - * @inheritdoc + * {@inheritdoc} */ public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') { @@ -586,7 +586,7 @@ public function whereJsonLength($column, $operator, $value = null, $boolean = 'a } /** - * @inheritdoc + * {@inheritdoc} */ public function orWhereJsonLength($column, $operator, $value = null) { @@ -594,7 +594,7 @@ public function orWhereJsonLength($column, $operator, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function groupBy(...$groups) { @@ -602,7 +602,7 @@ public function groupBy(...$groups) } /** - * @inheritdoc + * {@inheritdoc} */ public function groupByRaw($sql, array $bindings = []) { @@ -610,7 +610,7 @@ public function groupByRaw($sql, array $bindings = []) } /** - * @inheritdoc + * {@inheritdoc} */ public function having($column, $operator = null, $value = null, $boolean = 'and') { @@ -618,7 +618,7 @@ public function having($column, $operator = null, $value = null, $boolean = 'and } /** - * @inheritdoc + * {@inheritdoc} */ public function orHaving($column, $operator = null, $value = null) { @@ -626,7 +626,7 @@ public function orHaving($column, $operator = null, $value = null) } /** - * @inheritdoc + * {@inheritdoc} */ public function havingNull($columns, $boolean = 'and', $not = false) { @@ -634,7 +634,7 @@ public function havingNull($columns, $boolean = 'and', $not = false) } /** - * @inheritdoc + * {@inheritdoc} */ public function orHavingNull($column) { diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 1e51a376f62b..1d9af6e773fa 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -229,10 +229,7 @@ public function __construct(ConnectionInterface $connection, } /** - * Set the columns to be selected. - * - * @param array|mixed $columns - * @return $this + * {@inheritdoc} */ public function select($columns = ['*']) { @@ -252,13 +249,7 @@ public function select($columns = ['*']) } /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @return $this - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function selectSub($query, $as) { @@ -270,11 +261,7 @@ public function selectSub($query, $as) } /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @param array $bindings - * @return $this + * {@inheritdoc} */ public function selectRaw($expression, array $bindings = []) { @@ -288,13 +275,7 @@ public function selectRaw($expression, array $bindings = []) } /** - * Makes "from" fetch from a subquery. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return $this - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function fromSub($query, $as) { @@ -304,11 +285,7 @@ public function fromSub($query, $as) } /** - * Add a raw from clause to the query. - * - * @param string $expression - * @param mixed $bindings - * @return $this + * {@inheritdoc} */ public function fromRaw($expression, $bindings = []) { @@ -383,10 +360,7 @@ protected function prependDatabaseNameIfCrossDatabaseQuery($query) } /** - * Add a new select column to the query. - * - * @param array|mixed $column - * @return $this + * {@inheritdoc} */ public function addSelect($column) { @@ -408,9 +382,7 @@ public function addSelect($column) } /** - * Force the query to only return distinct results. - * - * @return $this + * {@inheritdoc} */ public function distinct() { @@ -426,11 +398,7 @@ public function distinct() } /** - * Set the table which the query is targeting. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $table - * @param string|null $as - * @return $this + * {@inheritdoc} */ public function from($table, $as = null) { @@ -444,15 +412,7 @@ public function from($table, $as = null) } /** - * Add a join clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @param string $type - * @param bool $where - * @return $this + * {@inheritdoc} */ public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -484,14 +444,7 @@ public function join($table, $first, $operator = null, $second = null, $type = ' } /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @param string $type - * @return $this + * {@inheritdoc} */ public function joinWhere($table, $first, $operator, $second, $type = 'inner') { @@ -499,18 +452,7 @@ public function joinWhere($table, $first, $operator, $second, $type = 'inner') } /** - * Add a subquery join clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @param string $type - * @param bool $where - * @return $this - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -524,13 +466,7 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ } /** - * Add a left join to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function leftJoin($table, $first, $operator = null, $second = null) { @@ -538,13 +474,7 @@ public function leftJoin($table, $first, $operator = null, $second = null) } /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @return $this + * {@inheritdoc} */ public function leftJoinWhere($table, $first, $operator, $second) { @@ -552,14 +482,7 @@ public function leftJoinWhere($table, $first, $operator, $second) } /** - * Add a subquery left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function leftJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -567,13 +490,7 @@ public function leftJoinSub($query, $as, $first, $operator = null, $second = nul } /** - * Add a right join to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function rightJoin($table, $first, $operator = null, $second = null) { @@ -581,13 +498,7 @@ public function rightJoin($table, $first, $operator = null, $second = null) } /** - * Add a "right join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @return $this + * {@inheritdoc} */ public function rightJoinWhere($table, $first, $operator, $second) { @@ -595,14 +506,7 @@ public function rightJoinWhere($table, $first, $operator, $second) } /** - * Add a subquery right join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function rightJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -610,13 +514,7 @@ public function rightJoinSub($query, $as, $first, $operator = null, $second = nu } /** - * Add a "cross join" clause to the query. - * - * @param string $table - * @param \Closure|string|null $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function crossJoin($table, $first = null, $operator = null, $second = null) { @@ -630,11 +528,7 @@ public function crossJoin($table, $first = null, $operator = null, $second = nul } /** - * Add a subquery cross join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return $this + * {@inheritdoc} */ public function crossJoinSub($query, $as) { @@ -663,11 +557,7 @@ protected function newJoinClause(self $parentQuery, $type, $table) } /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return $this + * {@inheritdoc} */ public function mergeWheres($wheres, $bindings) { @@ -681,13 +571,7 @@ public function mergeWheres($wheres, $bindings) } /** - * Add a basic where clause to the query. - * - * @param \Closure|string|array $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function where($column, $operator = null, $value = null, $boolean = 'and') { @@ -792,14 +676,7 @@ protected function addArrayOfWheres($column, $boolean, $method = 'where') } /** - * Prepare the value and operator for a where clause. - * - * @param string $value - * @param string $operator - * @param bool $useDefault - * @return array - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function prepareValueAndOperator($value, $operator, $useDefault = false) { @@ -840,12 +717,7 @@ protected function invalidOperator($operator) } /** - * Add an "or where" clause to the query. - * - * @param \Closure|string|array $column - * @param mixed $operator - * @param mixed $value - * @return $this + * {@inheritdoc} */ public function orWhere($column, $operator = null, $value = null) { @@ -857,13 +729,7 @@ public function orWhere($column, $operator = null, $value = null) } /** - * Add a "where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return $this + * {@inheritdoc} */ public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') { @@ -894,12 +760,7 @@ public function whereColumn($first, $operator = null, $second = null, $boolean = } /** - * Add an "or where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @return $this + * {@inheritdoc} */ public function orWhereColumn($first, $operator = null, $second = null) { @@ -907,12 +768,7 @@ public function orWhereColumn($first, $operator = null, $second = null) } /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereRaw($sql, $bindings = [], $boolean = 'and') { @@ -924,11 +780,7 @@ public function whereRaw($sql, $bindings = [], $boolean = 'and') } /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @return $this + * {@inheritdoc} */ public function orWhereRaw($sql, $bindings = []) { @@ -936,13 +788,7 @@ public function orWhereRaw($sql, $bindings = []) } /** - * Add a "where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereIn($column, $values, $boolean = 'and', $not = false) { @@ -977,11 +823,7 @@ public function whereIn($column, $values, $boolean = 'and', $not = false) } /** - * Add an "or where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return $this + * {@inheritdoc} */ public function orWhereIn($column, $values) { @@ -989,12 +831,7 @@ public function orWhereIn($column, $values) } /** - * Add a "where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNotIn($column, $values, $boolean = 'and') { @@ -1002,11 +839,7 @@ public function whereNotIn($column, $values, $boolean = 'and') } /** - * Add an "or where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return $this + * {@inheritdoc} */ public function orWhereNotIn($column, $values) { @@ -1014,13 +847,7 @@ public function orWhereNotIn($column, $values) } /** - * Add a "where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) { @@ -1040,11 +867,7 @@ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = fal } /** - * Add an "or where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return $this + * {@inheritdoc} */ public function orWhereIntegerInRaw($column, $values) { @@ -1052,12 +875,7 @@ public function orWhereIntegerInRaw($column, $values) } /** - * Add a "where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') { @@ -1065,11 +883,7 @@ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') } /** - * Add an "or where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return $this + * {@inheritdoc} */ public function orWhereIntegerNotInRaw($column, $values) { @@ -1077,12 +891,7 @@ public function orWhereIntegerNotInRaw($column, $values) } /** - * Add a "where null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereNull($columns, $boolean = 'and', $not = false) { @@ -1096,10 +905,7 @@ public function whereNull($columns, $boolean = 'and', $not = false) } /** - * Add an "or where null" clause to the query. - * - * @param string|array $column - * @return $this + * {@inheritdoc} */ public function orWhereNull($column) { @@ -1107,11 +913,7 @@ public function orWhereNull($column) } /** - * Add a "where not null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNotNull($columns, $boolean = 'and') { @@ -1119,13 +921,7 @@ public function whereNotNull($columns, $boolean = 'and') } /** - * Add a where between statement to the query. - * - * @param string|\Illuminate\Database\Query\Expression $column - * @param iterable $values - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereBetween($column, iterable $values, $boolean = 'and', $not = false) { @@ -1139,13 +935,7 @@ public function whereBetween($column, iterable $values, $boolean = 'and', $not = } /** - * Add a where between statement using columns to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false) { @@ -1157,11 +947,7 @@ public function whereBetweenColumns($column, array $values, $boolean = 'and', $n } /** - * Add an or where between statement to the query. - * - * @param string $column - * @param iterable $values - * @return $this + * {@inheritdoc} */ public function orWhereBetween($column, iterable $values) { @@ -1169,11 +955,7 @@ public function orWhereBetween($column, iterable $values) } /** - * Add an or where between statement using columns to the query. - * - * @param string $column - * @param array $values - * @return $this + * {@inheritdoc} */ public function orWhereBetweenColumns($column, array $values) { @@ -1181,12 +963,7 @@ public function orWhereBetweenColumns($column, array $values) } /** - * Add a where not between statement to the query. - * - * @param string $column - * @param iterable $values - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNotBetween($column, iterable $values, $boolean = 'and') { @@ -1194,12 +971,7 @@ public function whereNotBetween($column, iterable $values, $boolean = 'and') } /** - * Add a where not between statement using columns to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') { @@ -1207,11 +979,7 @@ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') } /** - * Add an or where not between statement to the query. - * - * @param string $column - * @param iterable $values - * @return $this + * {@inheritdoc} */ public function orWhereNotBetween($column, iterable $values) { @@ -1219,11 +987,7 @@ public function orWhereNotBetween($column, iterable $values) } /** - * Add an or where not between statement using columns to the query. - * - * @param string $column - * @param array $values - * @return $this + * {@inheritdoc} */ public function orWhereNotBetweenColumns($column, array $values) { @@ -1231,10 +995,7 @@ public function orWhereNotBetweenColumns($column, array $values) } /** - * Add an "or where not null" clause to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function orWhereNotNull($column) { @@ -1242,13 +1003,7 @@ public function orWhereNotNull($column) } /** - * Add a "where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereDate($column, $operator, $value = null, $boolean = 'and') { @@ -1266,12 +1021,7 @@ public function whereDate($column, $operator, $value = null, $boolean = 'and') } /** - * Add an "or where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return $this + * {@inheritdoc} */ public function orWhereDate($column, $operator, $value = null) { @@ -1283,13 +1033,7 @@ public function orWhereDate($column, $operator, $value = null) } /** - * Add a "where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereTime($column, $operator, $value = null, $boolean = 'and') { @@ -1307,12 +1051,7 @@ public function whereTime($column, $operator, $value = null, $boolean = 'and') } /** - * Add an "or where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return $this + * {@inheritdoc} */ public function orWhereTime($column, $operator, $value = null) { @@ -1324,13 +1063,7 @@ public function orWhereTime($column, $operator, $value = null) } /** - * Add a "where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereDay($column, $operator, $value = null, $boolean = 'and') { @@ -1352,12 +1085,7 @@ public function whereDay($column, $operator, $value = null, $boolean = 'and') } /** - * Add an "or where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return $this + * {@inheritdoc} */ public function orWhereDay($column, $operator, $value = null) { @@ -1369,13 +1097,7 @@ public function orWhereDay($column, $operator, $value = null) } /** - * Add a "where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereMonth($column, $operator, $value = null, $boolean = 'and') { @@ -1397,12 +1119,7 @@ public function whereMonth($column, $operator, $value = null, $boolean = 'and') } /** - * Add an "or where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return $this + * {@inheritdoc} */ public function orWhereMonth($column, $operator, $value = null) { @@ -1414,13 +1131,7 @@ public function orWhereMonth($column, $operator, $value = null) } /** - * Add a "where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereYear($column, $operator, $value = null, $boolean = 'and') { @@ -1438,12 +1149,7 @@ public function whereYear($column, $operator, $value = null, $boolean = 'and') } /** - * Add an "or where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|int|null $value - * @return $this + * {@inheritdoc} */ public function orWhereYear($column, $operator, $value = null) { @@ -1476,11 +1182,7 @@ protected function addDateBasedWhere($type, $column, $operator, $value, $boolean } /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNested(Closure $callback, $boolean = 'and') { @@ -1500,11 +1202,7 @@ public function forNestedWhere() } /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function addNestedWhereQuery($query, $boolean = 'and') { @@ -1547,12 +1245,7 @@ protected function whereSub($column, $operator, Closure $callback, $boolean) } /** - * Add an exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereExists(Closure $callback, $boolean = 'and', $not = false) { @@ -1567,11 +1260,7 @@ public function whereExists(Closure $callback, $boolean = 'and', $not = false) } /** - * Add an or exists clause to the query. - * - * @param \Closure $callback - * @param bool $not - * @return $this + * {@inheritdoc} */ public function orWhereExists(Closure $callback, $not = false) { @@ -1579,11 +1268,7 @@ public function orWhereExists(Closure $callback, $not = false) } /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereNotExists(Closure $callback, $boolean = 'and') { @@ -1591,10 +1276,7 @@ public function whereNotExists(Closure $callback, $boolean = 'and') } /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @return $this + * {@inheritdoc} */ public function orWhereNotExists(Closure $callback) { @@ -1621,15 +1303,7 @@ public function addWhereExistsQuery(self $query, $boolean = 'and', $not = false) } /** - * Adds a where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @param string $boolean - * @return $this - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function whereRowValues($columns, $operator, $values, $boolean = 'and') { @@ -1647,12 +1321,7 @@ public function whereRowValues($columns, $operator, $values, $boolean = 'and') } /** - * Adds an or where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @return $this + * {@inheritdoc} */ public function orWhereRowValues($columns, $operator, $values) { @@ -1660,13 +1329,7 @@ public function orWhereRowValues($columns, $operator, $values) } /** - * Add a "where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function whereJsonContains($column, $value, $boolean = 'and', $not = false) { @@ -1682,11 +1345,7 @@ public function whereJsonContains($column, $value, $boolean = 'and', $not = fals } /** - * Add an "or where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return $this + * {@inheritdoc} */ public function orWhereJsonContains($column, $value) { @@ -1694,12 +1353,7 @@ public function orWhereJsonContains($column, $value) } /** - * Add a "where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereJsonDoesntContain($column, $value, $boolean = 'and') { @@ -1707,11 +1361,7 @@ public function whereJsonDoesntContain($column, $value, $boolean = 'and') } /** - * Add an "or where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return $this + * {@inheritdoc} */ public function orWhereJsonDoesntContain($column, $value) { @@ -1719,13 +1369,7 @@ public function orWhereJsonDoesntContain($column, $value) } /** - * Add a "where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') { @@ -1745,12 +1389,7 @@ public function whereJsonLength($column, $operator, $value = null, $boolean = 'a } /** - * Add an "or where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @return $this + * {@inheritdoc} */ public function orWhereJsonLength($column, $operator, $value = null) { @@ -1824,10 +1463,7 @@ protected function addDynamic($segment, $connector, $parameters, $index) } /** - * Add a "group by" clause to the query. - * - * @param array|string ...$groups - * @return $this + * {@inheritdoc} */ public function groupBy(...$groups) { @@ -1842,11 +1478,7 @@ public function groupBy(...$groups) } /** - * Add a raw groupBy clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this + * {@inheritdoc} */ public function groupByRaw($sql, array $bindings = []) { @@ -1858,13 +1490,7 @@ public function groupByRaw($sql, array $bindings = []) } /** - * Add a "having" clause to the query. - * - * @param string $column - * @param string|null $operator - * @param string|null $value - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function having($column, $operator = null, $value = null, $boolean = 'and') { @@ -1894,12 +1520,7 @@ public function having($column, $operator = null, $value = null, $boolean = 'and } /** - * Add an "or having" clause to the query. - * - * @param string $column - * @param string|null $operator - * @param string|null $value - * @return $this + * {@inheritdoc} */ public function orHaving($column, $operator = null, $value = null) { @@ -1911,12 +1532,7 @@ public function orHaving($column, $operator = null, $value = null) } /** - * Add a "having null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function havingNull($columns, $boolean = 'and', $not = false) { @@ -1930,10 +1546,7 @@ public function havingNull($columns, $boolean = 'and', $not = false) } /** - * Add an "or having null" clause to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function orHavingNull($column) { @@ -1941,11 +1554,7 @@ public function orHavingNull($column) } /** - * Add a "having not null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function havingNotNull($columns, $boolean = 'and') { @@ -1953,10 +1562,7 @@ public function havingNotNull($columns, $boolean = 'and') } /** - * Add an "or having not null" clause to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function orHavingNotNull($column) { @@ -1964,13 +1570,7 @@ public function orHavingNotNull($column) } /** - * Add a "having between " clause to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return $this + * {@inheritdoc} */ public function havingBetween($column, array $values, $boolean = 'and', $not = false) { @@ -1984,12 +1584,7 @@ public function havingBetween($column, array $values, $boolean = 'and', $not = f } /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return $this + * {@inheritdoc} */ public function havingRaw($sql, array $bindings = [], $boolean = 'and') { @@ -2003,11 +1598,7 @@ public function havingRaw($sql, array $bindings = [], $boolean = 'and') } /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this + * {@inheritdoc} */ public function orHavingRaw($sql, array $bindings = []) { @@ -2015,13 +1606,7 @@ public function orHavingRaw($sql, array $bindings = []) } /** - * Add an "order by" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Query\Expression|string $column - * @param string $direction - * @return $this - * - * @throws \InvalidArgumentException + * {@inheritdoc} */ public function orderBy($column, $direction = 'asc') { @@ -2048,10 +1633,7 @@ public function orderBy($column, $direction = 'asc') } /** - * Add a descending "order by" clause to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function orderByDesc($column) { @@ -2059,10 +1641,7 @@ public function orderByDesc($column) } /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function latest($column = 'created_at') { @@ -2070,10 +1649,7 @@ public function latest($column = 'created_at') } /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return $this + * {@inheritdoc} */ public function oldest($column = 'created_at') { @@ -2081,10 +1657,7 @@ public function oldest($column = 'created_at') } /** - * Put the query's results in random order. - * - * @param string $seed - * @return $this + * {@inheritdoc} */ public function inRandomOrder($seed = '') { @@ -2092,11 +1665,7 @@ public function inRandomOrder($seed = '') } /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this + * {@inheritdoc} */ public function orderByRaw($sql, $bindings = []) { @@ -2110,10 +1679,7 @@ public function orderByRaw($sql, $bindings = []) } /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return $this + * {@inheritdoc} */ public function skip($value) { @@ -2121,10 +1687,7 @@ public function skip($value) } /** - * Set the "offset" value of the query. - * - * @param int $value - * @return $this + * {@inheritdoc} */ public function offset($value) { @@ -2136,10 +1699,7 @@ public function offset($value) } /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return $this + * {@inheritdoc} */ public function take($value) { @@ -2147,10 +1707,7 @@ public function take($value) } /** - * Set the "limit" value of the query. - * - * @param int $value - * @return $this + * {@inheritdoc} */ public function limit($value) { @@ -2164,11 +1721,7 @@ public function limit($value) } /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return $this + * @inheritdoc */ public function forPage($page, $perPage = 15) { @@ -2176,12 +1729,7 @@ public function forPage($page, $perPage = 15) } /** - * Constrain the query to the previous "page" of results before a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return $this + * @inheritdoc */ public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') { @@ -2196,12 +1744,7 @@ public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') } /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return $this + * @inheritdoc */ public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') { @@ -2216,11 +1759,7 @@ public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') } /** - * Remove all existing orders and optionally add a new order. - * - * @param string|null $column - * @param string $direction - * @return $this + * @inheritdoc */ public function reorder($column = null, $direction = 'asc') { @@ -2252,11 +1791,7 @@ protected function removeExistingOrdersFor($column) } /** - * Add a union statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @param bool $all - * @return $this + * @inheritdoc */ public function union($query, $all = false) { @@ -2272,10 +1807,7 @@ public function union($query, $all = false) } /** - * Add a union all statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @return $this + * @inheritdoc */ public function unionAll($query) { @@ -2283,10 +1815,7 @@ public function unionAll($query) } /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return $this + * @inheritdoc */ public function lock($value = true) { @@ -2300,9 +1829,7 @@ public function lock($value = true) } /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder + * @inheritdoc */ public function lockForUpdate() { @@ -2310,9 +1837,7 @@ public function lockForUpdate() } /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder + * @inheritdoc */ public function sharedLock() { @@ -3239,9 +2764,7 @@ public function truncate() } /** - * Get a new instance of the query builder. - * - * @return \Illuminate\Database\Query\Builder + * @inheritdoc */ public function newQuery() { @@ -3259,10 +2782,7 @@ protected function forSubQuery() } /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression + * @inheritdoc */ public function raw($value) { @@ -3270,9 +2790,7 @@ public function raw($value) } /** - * Get the current query value bindings in a flattened array. - * - * @return array + * @inheritdoc */ public function getBindings() { @@ -3280,9 +2798,7 @@ public function getBindings() } /** - * Get the raw array of bindings. - * - * @return array + * @inheritdoc */ public function getRawBindings() { @@ -3290,13 +2806,7 @@ public function getRawBindings() } /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @param string $type - * @return $this - * - * @throws \InvalidArgumentException + * @inheritdoc */ public function setBindings(array $bindings, $type = 'where') { @@ -3310,13 +2820,7 @@ public function setBindings(array $bindings, $type = 'where') } /** - * Add a binding to the query. - * - * @param mixed $value - * @param string $type - * @return $this - * - * @throws \InvalidArgumentException + * @inheritdoc */ public function addBinding($value, $type = 'where') { @@ -3334,10 +2838,7 @@ public function addBinding($value, $type = 'where') } /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this + * @inheritdoc */ public function mergeBindings(QueryBuilder $query) { @@ -3347,10 +2848,7 @@ public function mergeBindings(QueryBuilder $query) } /** - * Remove all of the expressions from a list of bindings. - * - * @param array $bindings - * @return array + * @inheritdoc */ public function cleanBindings(array $bindings) { @@ -3381,9 +2879,7 @@ protected function defaultKeyName() } /** - * Get the database connection instance. - * - * @return \Illuminate\Database\ConnectionInterface + * @inheritdoc */ public function getConnection() { @@ -3391,9 +2887,7 @@ public function getConnection() } /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor + * @inheritdoc */ public function getProcessor() { @@ -3401,9 +2895,7 @@ public function getProcessor() } /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar + * @inheritdoc */ public function getGrammar() { @@ -3411,9 +2903,7 @@ public function getGrammar() } /** - * Use the write pdo for query. - * - * @return $this + * @inheritdoc */ public function useWritePdo() { @@ -3437,9 +2927,7 @@ protected function isQueryable($value) } /** - * Clone the query. - * - * @return static + * @inheritdoc */ public function clone() { @@ -3447,10 +2935,7 @@ public function clone() } /** - * Clone the query without the given properties. - * - * @param array $properties - * @return static + * @inheritdoc */ public function cloneWithout(array $properties) { @@ -3462,10 +2947,7 @@ public function cloneWithout(array $properties) } /** - * Clone the query without the given bindings. - * - * @param array $except - * @return static + * @inheritdoc */ public function cloneWithoutBindings(array $except) { From ae6111f9256e493252229682da132b6dad89d41d Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 8 Jul 2021 10:59:59 -0400 Subject: [PATCH 04/14] A little refactoring --- src/Illuminate/Database/Eloquent/Builder.php | 3 +-- .../Eloquent/Concerns/DecoratesQueryBuilder.php | 17 ++++++++++++++++- .../Database/Eloquent/Relations/MorphTo.php | 8 ++++---- .../Database/Eloquent/Relations/Relation.php | 2 +- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index a8077c42f6d8..ebeec853ca09 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -29,8 +29,7 @@ */ class Builder implements QueryBuilder { - use DecoratesQueryBuilder, ExplainsQueries, ForwardsCalls, QueriesRelationships; - use BuildsQueries { + use BuildsQueries, DecoratesQueryBuilder, ExplainsQueries, ForwardsCalls, QueriesRelationships { BuildsQueries::sole as baseSole; } diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php index c3d6ece141d8..957bc26b29bd 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -4,9 +4,11 @@ use Closure; use Illuminate\Contracts\Database\QueryBuilder; -use Illuminate\Database\Concerns\BuildsQueries; use Illuminate\Support\Traits\ForwardsCalls; +/** + * @mixin \Illuminate\Database\Query\Builder + */ trait DecoratesQueryBuilder { use ForwardsCalls; @@ -1193,6 +1195,19 @@ public function cloneWithoutBindings(array $except) return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); } + /** + * Handle dynamic method calls to the query builder. + * + * @param string $method + * @param array $parameters + * + * @return mixed + */ + public function __call($method, $parameters) + { + return $this->forwardCallToQueryBuilder($method, $parameters); + } + /** * @param $method * @param $parameters diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 01d77c3c11a0..5b09f3c9c84f 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -352,28 +352,28 @@ public function constrain(array $callbacks) public function select($columns = ['*']) { - $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + $this->macroBuffer[] = ['method' => 'select', 'parameters' => [$columns]]; return parent::select($columns); } public function selectRaw($expression, array $bindings = []) { - $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + $this->macroBuffer[] = ['method' => 'selectRaw', 'parameters' => [$expression, $bindings]]; return parent::selectRaw($expression, $bindings); } public function selectSub($query, $as) { - $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + $this->macroBuffer[] = ['method' => 'selectSub', 'parameters' => [$query, $as]]; return parent::selectSub($query, $as); } public function addSelect($column) { - $this->macroBuffer[] = ['method' => __FUNCTION__, 'parameters' => func_get_args()]; + $this->macroBuffer[] = ['method' => 'addSelect', 'parameters' => [$column]]; return parent::addSelect($column); } diff --git a/src/Illuminate/Database/Eloquent/Relations/Relation.php b/src/Illuminate/Database/Eloquent/Relations/Relation.php index bc7bdb8c92b1..86bd104de606 100755 --- a/src/Illuminate/Database/Eloquent/Relations/Relation.php +++ b/src/Illuminate/Database/Eloquent/Relations/Relation.php @@ -18,7 +18,7 @@ abstract class Relation implements QueryBuilder { use DecoratesQueryBuilder, ForwardsCalls, Macroable { - __call as macroCall; + Macroable::__call as macroCall; } /** From ff2dc6b0e9d8d6ba71907e811d01861515c4ee51 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 8 Jul 2021 11:04:32 -0400 Subject: [PATCH 05/14] Add inheritdoc statements --- .../Database/Eloquent/Relations/MorphTo.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 5b09f3c9c84f..70155017d4e6 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -350,6 +350,9 @@ public function constrain(array $callbacks) return $this; } + /** + * {@inheritdoc} + */ public function select($columns = ['*']) { $this->macroBuffer[] = ['method' => 'select', 'parameters' => [$columns]]; @@ -357,6 +360,9 @@ public function select($columns = ['*']) return parent::select($columns); } + /** + * {@inheritdoc} + */ public function selectRaw($expression, array $bindings = []) { $this->macroBuffer[] = ['method' => 'selectRaw', 'parameters' => [$expression, $bindings]]; @@ -364,6 +370,9 @@ public function selectRaw($expression, array $bindings = []) return parent::selectRaw($expression, $bindings); } + /** + * {@inheritdoc} + */ public function selectSub($query, $as) { $this->macroBuffer[] = ['method' => 'selectSub', 'parameters' => [$query, $as]]; @@ -371,6 +380,9 @@ public function selectSub($query, $as) return parent::selectSub($query, $as); } + /** + * {@inheritdoc} + */ public function addSelect($column) { $this->macroBuffer[] = ['method' => 'addSelect', 'parameters' => [$column]]; From 41f2fe8c8d222c1c8308cc5976a38aa3587c036e Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 8 Jul 2021 12:00:29 -0400 Subject: [PATCH 06/14] Update two more passthru methods --- .../Database/Eloquent/Concerns/DecoratesQueryBuilder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php index 957bc26b29bd..3d44da95d618 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -984,7 +984,7 @@ public function aggregate($function, $columns = ['*']) */ public function numericAggregate($function, $columns = ['*']) { - return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + return $this->toBase()->{__FUNCTION__}(...func_get_args()); } /** @@ -1080,7 +1080,7 @@ public function truncate() */ public function newQuery() { - return $this->forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); + return $this->toBase()->{__FUNCTION__}(...func_get_args()); } /** From 4d28385f1495a529e3235bda89e01d8deae22685 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 8 Jul 2021 12:09:57 -0400 Subject: [PATCH 07/14] Removed duplicate macroBuffer logic --- src/Illuminate/Database/Eloquent/Relations/MorphTo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 70155017d4e6..80ae1e44b426 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -417,7 +417,7 @@ public function __call($method, $parameters) try { $result = parent::__call($method, $parameters); - if (in_array($method, ['select', 'selectRaw', 'selectSub', 'addSelect', 'withoutGlobalScopes'])) { + if ($method === 'withoutGlobalScopes') { $this->macroBuffer[] = compact('method', 'parameters'); } From ada85ce5496d6ba35159faff59a224155f04b3c4 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:27:07 -0400 Subject: [PATCH 08/14] Rename query builder contract --- .../{QueryBuilder.php => Query/Builder.php} | 20 +++++++++---------- src/Illuminate/Database/Eloquent/Builder.php | 4 ++-- .../Concerns/DecoratesQueryBuilder.php | 6 +++--- .../Database/Eloquent/Relations/Relation.php | 4 ++-- src/Illuminate/Database/Query/Builder.php | 6 +++--- 5 files changed, 20 insertions(+), 20 deletions(-) rename src/Illuminate/Contracts/Database/{QueryBuilder.php => Query/Builder.php} (97%) diff --git a/src/Illuminate/Contracts/Database/QueryBuilder.php b/src/Illuminate/Contracts/Database/Query/Builder.php similarity index 97% rename from src/Illuminate/Contracts/Database/QueryBuilder.php rename to src/Illuminate/Contracts/Database/Query/Builder.php index 4b218fb1e1ec..e475f1872acb 100644 --- a/src/Illuminate/Contracts/Database/QueryBuilder.php +++ b/src/Illuminate/Contracts/Database/Query/Builder.php @@ -1,10 +1,10 @@ forwardCallToQueryBuilder(__FUNCTION__, func_get_args()); } diff --git a/src/Illuminate/Database/Eloquent/Relations/Relation.php b/src/Illuminate/Database/Eloquent/Relations/Relation.php index 86bd104de606..e30f9875cfda 100755 --- a/src/Illuminate/Database/Eloquent/Relations/Relation.php +++ b/src/Illuminate/Database/Eloquent/Relations/Relation.php @@ -3,7 +3,7 @@ namespace Illuminate\Database\Eloquent\Relations; use Closure; -use Illuminate\Contracts\Database\QueryBuilder; +use Illuminate\Contracts\Database\Query\Builder as BuilderContract; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder; @@ -15,7 +15,7 @@ use Illuminate\Support\Traits\ForwardsCalls; use Illuminate\Support\Traits\Macroable; -abstract class Relation implements QueryBuilder +abstract class Relation implements BuilderContract { use DecoratesQueryBuilder, ForwardsCalls, Macroable { Macroable::__call as macroCall; diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 10572c3029c3..462d47586b0d 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -4,7 +4,7 @@ use Closure; use DateTimeInterface; -use Illuminate\Contracts\Database\QueryBuilder; +use Illuminate\Contracts\Database\Query\Builder as BuilderContract; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Database\Concerns\BuildsQueries; use Illuminate\Database\Concerns\ExplainsQueries; @@ -23,7 +23,7 @@ use InvalidArgumentException; use RuntimeException; -class Builder implements QueryBuilder +class Builder implements BuilderContract { use BuildsQueries, ExplainsQueries, ForwardsCalls, Macroable { __call as macroCall; @@ -2806,7 +2806,7 @@ public function addBinding($value, $type = 'where') /** * @inheritdoc */ - public function mergeBindings(QueryBuilder $query) + public function mergeBindings(Builder $query) { $this->bindings = array_merge_recursive($this->bindings, $query->getRawBindings()); From 973444b93b36defd5918b3d75ea585cff96bfc79 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:27:49 -0400 Subject: [PATCH 09/14] Remove extra space from inheritdoc tags --- src/Illuminate/Database/Query/Builder.php | 184 +++++++++++----------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 462d47586b0d..64390e9af0fc 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -227,7 +227,7 @@ public function __construct(ConnectionInterface $connection, } /** - * {@inheritdoc} + * {@inheritdoc} */ public function select($columns = ['*']) { @@ -247,7 +247,7 @@ public function select($columns = ['*']) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectSub($query, $as) { @@ -259,7 +259,7 @@ public function selectSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectRaw($expression, array $bindings = []) { @@ -273,7 +273,7 @@ public function selectRaw($expression, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function fromSub($query, $as) { @@ -283,7 +283,7 @@ public function fromSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function fromRaw($expression, $bindings = []) { @@ -358,7 +358,7 @@ protected function prependDatabaseNameIfCrossDatabaseQuery($query) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function addSelect($column) { @@ -380,7 +380,7 @@ public function addSelect($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function distinct() { @@ -396,7 +396,7 @@ public function distinct() } /** - * {@inheritdoc} + * {@inheritdoc} */ public function from($table, $as = null) { @@ -410,7 +410,7 @@ public function from($table, $as = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -442,7 +442,7 @@ public function join($table, $first, $operator = null, $second = null, $type = ' } /** - * {@inheritdoc} + * {@inheritdoc} */ public function joinWhere($table, $first, $operator, $second, $type = 'inner') { @@ -450,7 +450,7 @@ public function joinWhere($table, $first, $operator, $second, $type = 'inner') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -464,7 +464,7 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoin($table, $first, $operator = null, $second = null) { @@ -472,7 +472,7 @@ public function leftJoin($table, $first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoinWhere($table, $first, $operator, $second) { @@ -480,7 +480,7 @@ public function leftJoinWhere($table, $first, $operator, $second) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -488,7 +488,7 @@ public function leftJoinSub($query, $as, $first, $operator = null, $second = nul } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoin($table, $first, $operator = null, $second = null) { @@ -496,7 +496,7 @@ public function rightJoin($table, $first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoinWhere($table, $first, $operator, $second) { @@ -504,7 +504,7 @@ public function rightJoinWhere($table, $first, $operator, $second) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -512,7 +512,7 @@ public function rightJoinSub($query, $as, $first, $operator = null, $second = nu } /** - * {@inheritdoc} + * {@inheritdoc} */ public function crossJoin($table, $first = null, $operator = null, $second = null) { @@ -526,7 +526,7 @@ public function crossJoin($table, $first = null, $operator = null, $second = nul } /** - * {@inheritdoc} + * {@inheritdoc} */ public function crossJoinSub($query, $as) { @@ -555,7 +555,7 @@ protected function newJoinClause(self $parentQuery, $type, $table) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function mergeWheres($wheres, $bindings) { @@ -569,7 +569,7 @@ public function mergeWheres($wheres, $bindings) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function where($column, $operator = null, $value = null, $boolean = 'and') { @@ -674,7 +674,7 @@ protected function addArrayOfWheres($column, $boolean, $method = 'where') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function prepareValueAndOperator($value, $operator, $useDefault = false) { @@ -715,7 +715,7 @@ protected function invalidOperator($operator) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhere($column, $operator = null, $value = null) { @@ -727,7 +727,7 @@ public function orWhere($column, $operator = null, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') { @@ -758,7 +758,7 @@ public function whereColumn($first, $operator = null, $second = null, $boolean = } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereColumn($first, $operator = null, $second = null) { @@ -766,7 +766,7 @@ public function orWhereColumn($first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereRaw($sql, $bindings = [], $boolean = 'and') { @@ -778,7 +778,7 @@ public function whereRaw($sql, $bindings = [], $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereRaw($sql, $bindings = []) { @@ -786,7 +786,7 @@ public function orWhereRaw($sql, $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIn($column, $values, $boolean = 'and', $not = false) { @@ -821,7 +821,7 @@ public function whereIn($column, $values, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIn($column, $values) { @@ -829,7 +829,7 @@ public function orWhereIn($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotIn($column, $values, $boolean = 'and') { @@ -837,7 +837,7 @@ public function whereNotIn($column, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotIn($column, $values) { @@ -845,7 +845,7 @@ public function orWhereNotIn($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) { @@ -865,7 +865,7 @@ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = fal } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIntegerInRaw($column, $values) { @@ -873,7 +873,7 @@ public function orWhereIntegerInRaw($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') { @@ -881,7 +881,7 @@ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIntegerNotInRaw($column, $values) { @@ -889,7 +889,7 @@ public function orWhereIntegerNotInRaw($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNull($columns, $boolean = 'and', $not = false) { @@ -903,7 +903,7 @@ public function whereNull($columns, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNull($column) { @@ -911,7 +911,7 @@ public function orWhereNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotNull($columns, $boolean = 'and') { @@ -919,7 +919,7 @@ public function whereNotNull($columns, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereBetween($column, iterable $values, $boolean = 'and', $not = false) { @@ -933,7 +933,7 @@ public function whereBetween($column, iterable $values, $boolean = 'and', $not = } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false) { @@ -945,7 +945,7 @@ public function whereBetweenColumns($column, array $values, $boolean = 'and', $n } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereBetween($column, iterable $values) { @@ -953,7 +953,7 @@ public function orWhereBetween($column, iterable $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereBetweenColumns($column, array $values) { @@ -961,7 +961,7 @@ public function orWhereBetweenColumns($column, array $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotBetween($column, iterable $values, $boolean = 'and') { @@ -969,7 +969,7 @@ public function whereNotBetween($column, iterable $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') { @@ -977,7 +977,7 @@ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotBetween($column, iterable $values) { @@ -985,7 +985,7 @@ public function orWhereNotBetween($column, iterable $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotBetweenColumns($column, array $values) { @@ -993,7 +993,7 @@ public function orWhereNotBetweenColumns($column, array $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotNull($column) { @@ -1001,7 +1001,7 @@ public function orWhereNotNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereDate($column, $operator, $value = null, $boolean = 'and') { @@ -1019,7 +1019,7 @@ public function whereDate($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereDate($column, $operator, $value = null) { @@ -1031,7 +1031,7 @@ public function orWhereDate($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereTime($column, $operator, $value = null, $boolean = 'and') { @@ -1049,7 +1049,7 @@ public function whereTime($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereTime($column, $operator, $value = null) { @@ -1061,7 +1061,7 @@ public function orWhereTime($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereDay($column, $operator, $value = null, $boolean = 'and') { @@ -1083,7 +1083,7 @@ public function whereDay($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereDay($column, $operator, $value = null) { @@ -1095,7 +1095,7 @@ public function orWhereDay($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereMonth($column, $operator, $value = null, $boolean = 'and') { @@ -1117,7 +1117,7 @@ public function whereMonth($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereMonth($column, $operator, $value = null) { @@ -1129,7 +1129,7 @@ public function orWhereMonth($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereYear($column, $operator, $value = null, $boolean = 'and') { @@ -1147,7 +1147,7 @@ public function whereYear($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereYear($column, $operator, $value = null) { @@ -1180,7 +1180,7 @@ protected function addDateBasedWhere($type, $column, $operator, $value, $boolean } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNested(Closure $callback, $boolean = 'and') { @@ -1200,7 +1200,7 @@ public function forNestedWhere() } /** - * {@inheritdoc} + * {@inheritdoc} */ public function addNestedWhereQuery($query, $boolean = 'and') { @@ -1243,7 +1243,7 @@ protected function whereSub($column, $operator, Closure $callback, $boolean) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereExists(Closure $callback, $boolean = 'and', $not = false) { @@ -1258,7 +1258,7 @@ public function whereExists(Closure $callback, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereExists(Closure $callback, $not = false) { @@ -1266,7 +1266,7 @@ public function orWhereExists(Closure $callback, $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotExists(Closure $callback, $boolean = 'and') { @@ -1274,7 +1274,7 @@ public function whereNotExists(Closure $callback, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotExists(Closure $callback) { @@ -1301,7 +1301,7 @@ public function addWhereExistsQuery(self $query, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereRowValues($columns, $operator, $values, $boolean = 'and') { @@ -1319,7 +1319,7 @@ public function whereRowValues($columns, $operator, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereRowValues($columns, $operator, $values) { @@ -1327,7 +1327,7 @@ public function orWhereRowValues($columns, $operator, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonContains($column, $value, $boolean = 'and', $not = false) { @@ -1343,7 +1343,7 @@ public function whereJsonContains($column, $value, $boolean = 'and', $not = fals } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonContains($column, $value) { @@ -1351,7 +1351,7 @@ public function orWhereJsonContains($column, $value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonDoesntContain($column, $value, $boolean = 'and') { @@ -1359,7 +1359,7 @@ public function whereJsonDoesntContain($column, $value, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonDoesntContain($column, $value) { @@ -1367,7 +1367,7 @@ public function orWhereJsonDoesntContain($column, $value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') { @@ -1387,7 +1387,7 @@ public function whereJsonLength($column, $operator, $value = null, $boolean = 'a } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonLength($column, $operator, $value = null) { @@ -1461,7 +1461,7 @@ protected function addDynamic($segment, $connector, $parameters, $index) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function groupBy(...$groups) { @@ -1476,7 +1476,7 @@ public function groupBy(...$groups) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function groupByRaw($sql, array $bindings = []) { @@ -1488,7 +1488,7 @@ public function groupByRaw($sql, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function having($column, $operator = null, $value = null, $boolean = 'and') { @@ -1518,7 +1518,7 @@ public function having($column, $operator = null, $value = null, $boolean = 'and } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHaving($column, $operator = null, $value = null) { @@ -1530,7 +1530,7 @@ public function orHaving($column, $operator = null, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function havingNull($columns, $boolean = 'and', $not = false) { @@ -1544,7 +1544,7 @@ public function havingNull($columns, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHavingNull($column) { @@ -1552,7 +1552,7 @@ public function orHavingNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function havingNotNull($columns, $boolean = 'and') { @@ -1560,7 +1560,7 @@ public function havingNotNull($columns, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHavingNotNull($column) { @@ -1568,7 +1568,7 @@ public function orHavingNotNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function havingBetween($column, array $values, $boolean = 'and', $not = false) { @@ -1582,7 +1582,7 @@ public function havingBetween($column, array $values, $boolean = 'and', $not = f } /** - * {@inheritdoc} + * {@inheritdoc} */ public function havingRaw($sql, array $bindings = [], $boolean = 'and') { @@ -1596,7 +1596,7 @@ public function havingRaw($sql, array $bindings = [], $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHavingRaw($sql, array $bindings = []) { @@ -1604,7 +1604,7 @@ public function orHavingRaw($sql, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orderBy($column, $direction = 'asc') { @@ -1631,7 +1631,7 @@ public function orderBy($column, $direction = 'asc') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orderByDesc($column) { @@ -1639,7 +1639,7 @@ public function orderByDesc($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function latest($column = 'created_at') { @@ -1647,7 +1647,7 @@ public function latest($column = 'created_at') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function oldest($column = 'created_at') { @@ -1655,7 +1655,7 @@ public function oldest($column = 'created_at') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function inRandomOrder($seed = '') { @@ -1663,7 +1663,7 @@ public function inRandomOrder($seed = '') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orderByRaw($sql, $bindings = []) { @@ -1677,7 +1677,7 @@ public function orderByRaw($sql, $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function skip($value) { @@ -1685,7 +1685,7 @@ public function skip($value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function offset($value) { @@ -1697,7 +1697,7 @@ public function offset($value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function take($value) { @@ -1705,7 +1705,7 @@ public function take($value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function limit($value) { From d82c2cb7b49be3824163fcfcc0c8613f0dea041b Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:30:42 -0400 Subject: [PATCH 10/14] Fix issue with contract name collision --- src/Illuminate/Database/Query/Builder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 64390e9af0fc..bbc0fd9cd581 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -2806,7 +2806,7 @@ public function addBinding($value, $type = 'where') /** * @inheritdoc */ - public function mergeBindings(Builder $query) + public function mergeBindings(BuilderContract $query) { $this->bindings = array_merge_recursive($this->bindings, $query->getRawBindings()); From a8c6b13680db8f2fcdfadb8ebe077e92f6f192bb Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:37:56 -0400 Subject: [PATCH 11/14] Remove extra space in inheritdoc --- .../Concerns/DecoratesQueryBuilder.php | 154 +++++++++--------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php index b3432112116f..8c2e5bedfdf8 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -28,7 +28,7 @@ trait DecoratesQueryBuilder abstract public function toBase(); /** - * {@inheritdoc} + * {@inheritdoc} */ public function select($columns = ['*']) { @@ -36,7 +36,7 @@ public function select($columns = ['*']) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectSub($query, $as) { @@ -44,7 +44,7 @@ public function selectSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectRaw($expression, array $bindings = []) { @@ -52,7 +52,7 @@ public function selectRaw($expression, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function fromSub($query, $as) { @@ -60,7 +60,7 @@ public function fromSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function fromRaw($expression, $bindings = []) { @@ -68,7 +68,7 @@ public function fromRaw($expression, $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function addSelect($column) { @@ -76,7 +76,7 @@ public function addSelect($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function distinct() { @@ -84,7 +84,7 @@ public function distinct() } /** - * {@inheritdoc} + * {@inheritdoc} */ public function from($table, $as = null) { @@ -92,7 +92,7 @@ public function from($table, $as = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -100,7 +100,7 @@ public function join($table, $first, $operator = null, $second = null, $type = ' } /** - * {@inheritdoc} + * {@inheritdoc} */ public function joinWhere($table, $first, $operator, $second, $type = 'inner') { @@ -108,7 +108,7 @@ public function joinWhere($table, $first, $operator, $second, $type = 'inner') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) { @@ -116,7 +116,7 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoin($table, $first, $operator = null, $second = null) { @@ -124,7 +124,7 @@ public function leftJoin($table, $first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoinWhere($table, $first, $operator, $second) { @@ -132,7 +132,7 @@ public function leftJoinWhere($table, $first, $operator, $second) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function leftJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -140,7 +140,7 @@ public function leftJoinSub($query, $as, $first, $operator = null, $second = nul } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoin($table, $first, $operator = null, $second = null) { @@ -148,7 +148,7 @@ public function rightJoin($table, $first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoinWhere($table, $first, $operator, $second) { @@ -156,7 +156,7 @@ public function rightJoinWhere($table, $first, $operator, $second) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function rightJoinSub($query, $as, $first, $operator = null, $second = null) { @@ -164,7 +164,7 @@ public function rightJoinSub($query, $as, $first, $operator = null, $second = nu } /** - * {@inheritdoc} + * {@inheritdoc} */ public function crossJoin($table, $first = null, $operator = null, $second = null) { @@ -172,7 +172,7 @@ public function crossJoin($table, $first = null, $operator = null, $second = nul } /** - * {@inheritdoc} + * {@inheritdoc} */ public function crossJoinSub($query, $as) { @@ -180,7 +180,7 @@ public function crossJoinSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function mergeWheres($wheres, $bindings) { @@ -188,7 +188,7 @@ public function mergeWheres($wheres, $bindings) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function where($column, $operator = null, $value = null, $boolean = 'and') { @@ -196,7 +196,7 @@ public function where($column, $operator = null, $value = null, $boolean = 'and' } /** - * {@inheritdoc} + * {@inheritdoc} */ public function prepareValueAndOperator($value, $operator, $useDefault = false) { @@ -204,7 +204,7 @@ public function prepareValueAndOperator($value, $operator, $useDefault = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhere($column, $operator = null, $value = null) { @@ -212,7 +212,7 @@ public function orWhere($column, $operator = null, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') { @@ -220,7 +220,7 @@ public function whereColumn($first, $operator = null, $second = null, $boolean = } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereColumn($first, $operator = null, $second = null) { @@ -228,7 +228,7 @@ public function orWhereColumn($first, $operator = null, $second = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereRaw($sql, $bindings = [], $boolean = 'and') { @@ -236,7 +236,7 @@ public function whereRaw($sql, $bindings = [], $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereRaw($sql, $bindings = []) { @@ -244,7 +244,7 @@ public function orWhereRaw($sql, $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIn($column, $values, $boolean = 'and', $not = false) { @@ -252,7 +252,7 @@ public function whereIn($column, $values, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIn($column, $values) { @@ -260,7 +260,7 @@ public function orWhereIn($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotIn($column, $values, $boolean = 'and') { @@ -268,7 +268,7 @@ public function whereNotIn($column, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotIn($column, $values) { @@ -276,7 +276,7 @@ public function orWhereNotIn($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) { @@ -284,7 +284,7 @@ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = fal } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIntegerInRaw($column, $values) { @@ -292,7 +292,7 @@ public function orWhereIntegerInRaw($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') { @@ -300,7 +300,7 @@ public function whereIntegerNotInRaw($column, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereIntegerNotInRaw($column, $values) { @@ -308,7 +308,7 @@ public function orWhereIntegerNotInRaw($column, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNull($columns, $boolean = 'and', $not = false) { @@ -316,7 +316,7 @@ public function whereNull($columns, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNull($column) { @@ -324,7 +324,7 @@ public function orWhereNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotNull($columns, $boolean = 'and') { @@ -332,7 +332,7 @@ public function whereNotNull($columns, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereBetween($column, iterable $values, $boolean = 'and', $not = false) { @@ -340,7 +340,7 @@ public function whereBetween($column, iterable $values, $boolean = 'and', $not = } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false) { @@ -348,7 +348,7 @@ public function whereBetweenColumns($column, array $values, $boolean = 'and', $n } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereBetween($column, iterable $values) { @@ -356,7 +356,7 @@ public function orWhereBetween($column, iterable $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereBetweenColumns($column, array $values) { @@ -364,7 +364,7 @@ public function orWhereBetweenColumns($column, array $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotBetween($column, iterable $values, $boolean = 'and') { @@ -372,7 +372,7 @@ public function whereNotBetween($column, iterable $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') { @@ -380,7 +380,7 @@ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotBetween($column, iterable $values) { @@ -388,7 +388,7 @@ public function orWhereNotBetween($column, iterable $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotBetweenColumns($column, array $values) { @@ -396,7 +396,7 @@ public function orWhereNotBetweenColumns($column, array $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotNull($column) { @@ -404,7 +404,7 @@ public function orWhereNotNull($column) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereDate($column, $operator, $value = null, $boolean = 'and') { @@ -412,7 +412,7 @@ public function whereDate($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereDate($column, $operator, $value = null) { @@ -420,7 +420,7 @@ public function orWhereDate($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereTime($column, $operator, $value = null, $boolean = 'and') { @@ -428,7 +428,7 @@ public function whereTime($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereTime($column, $operator, $value = null) { @@ -436,7 +436,7 @@ public function orWhereTime($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereDay($column, $operator, $value = null, $boolean = 'and') { @@ -444,7 +444,7 @@ public function whereDay($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereDay($column, $operator, $value = null) { @@ -452,7 +452,7 @@ public function orWhereDay($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereMonth($column, $operator, $value = null, $boolean = 'and') { @@ -460,7 +460,7 @@ public function whereMonth($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereMonth($column, $operator, $value = null) { @@ -468,7 +468,7 @@ public function orWhereMonth($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereYear($column, $operator, $value = null, $boolean = 'and') { @@ -476,7 +476,7 @@ public function whereYear($column, $operator, $value = null, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereYear($column, $operator, $value = null) { @@ -484,7 +484,7 @@ public function orWhereYear($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNested(Closure $callback, $boolean = 'and') { @@ -492,7 +492,7 @@ public function whereNested(Closure $callback, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function addNestedWhereQuery($query, $boolean = 'and') { @@ -500,7 +500,7 @@ public function addNestedWhereQuery($query, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereExists(Closure $callback, $boolean = 'and', $not = false) { @@ -508,7 +508,7 @@ public function whereExists(Closure $callback, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereExists(Closure $callback, $not = false) { @@ -516,7 +516,7 @@ public function orWhereExists(Closure $callback, $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereNotExists(Closure $callback, $boolean = 'and') { @@ -524,7 +524,7 @@ public function whereNotExists(Closure $callback, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereNotExists(Closure $callback) { @@ -532,7 +532,7 @@ public function orWhereNotExists(Closure $callback) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereRowValues($columns, $operator, $values, $boolean = 'and') { @@ -540,7 +540,7 @@ public function whereRowValues($columns, $operator, $values, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereRowValues($columns, $operator, $values) { @@ -548,7 +548,7 @@ public function orWhereRowValues($columns, $operator, $values) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonContains($column, $value, $boolean = 'and', $not = false) { @@ -556,7 +556,7 @@ public function whereJsonContains($column, $value, $boolean = 'and', $not = fals } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonContains($column, $value) { @@ -564,7 +564,7 @@ public function orWhereJsonContains($column, $value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonDoesntContain($column, $value, $boolean = 'and') { @@ -572,7 +572,7 @@ public function whereJsonDoesntContain($column, $value, $boolean = 'and') } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonDoesntContain($column, $value) { @@ -580,7 +580,7 @@ public function orWhereJsonDoesntContain($column, $value) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') { @@ -588,7 +588,7 @@ public function whereJsonLength($column, $operator, $value = null, $boolean = 'a } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orWhereJsonLength($column, $operator, $value = null) { @@ -596,7 +596,7 @@ public function orWhereJsonLength($column, $operator, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function groupBy(...$groups) { @@ -604,7 +604,7 @@ public function groupBy(...$groups) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function groupByRaw($sql, array $bindings = []) { @@ -612,7 +612,7 @@ public function groupByRaw($sql, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function having($column, $operator = null, $value = null, $boolean = 'and') { @@ -620,7 +620,7 @@ public function having($column, $operator = null, $value = null, $boolean = 'and } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHaving($column, $operator = null, $value = null) { @@ -628,7 +628,7 @@ public function orHaving($column, $operator = null, $value = null) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function havingNull($columns, $boolean = 'and', $not = false) { @@ -636,7 +636,7 @@ public function havingNull($columns, $boolean = 'and', $not = false) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function orHavingNull($column) { From 72768c1f499178888895525083fb615eb2dd08b2 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:39:21 -0400 Subject: [PATCH 12/14] Remove space from last inheritdoc blocks --- src/Illuminate/Database/Eloquent/Relations/MorphTo.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 80ae1e44b426..26118caf1f23 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -351,7 +351,7 @@ public function constrain(array $callbacks) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function select($columns = ['*']) { @@ -361,7 +361,7 @@ public function select($columns = ['*']) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectRaw($expression, array $bindings = []) { @@ -371,7 +371,7 @@ public function selectRaw($expression, array $bindings = []) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function selectSub($query, $as) { @@ -381,7 +381,7 @@ public function selectSub($query, $as) } /** - * {@inheritdoc} + * {@inheritdoc} */ public function addSelect($column) { From d9b5685c1f9d33d218e2e3bdfbcab162311d9316 Mon Sep 17 00:00:00 2001 From: Chris Morrell Date: Thu, 15 Jul 2021 10:42:06 -0400 Subject: [PATCH 13/14] Revert import alias to QueryBuilder --- src/Illuminate/Database/Eloquent/Builder.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index f0bbc23c09cd..f582fed74750 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -13,7 +13,7 @@ use Illuminate\Database\Eloquent\Concerns\QueriesRelationships; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\Relation; -use Illuminate\Database\Query\Builder as BaseBuilder; +use Illuminate\Database\Query\Builder as QueryBuilder; use Illuminate\Database\RecordsNotFoundException; use Illuminate\Pagination\Paginator; use Illuminate\Support\Arr; @@ -93,7 +93,7 @@ class Builder implements BuilderContract * @param \Illuminate\Database\Query\Builder $query * @return void */ - public function __construct(BaseBuilder $query) + public function __construct(QueryBuilder $query) { $this->query = $query; } @@ -1174,7 +1174,7 @@ protected function callNamedScope($scope, array $parameters = []) * @param int $originalWhereCount * @return void */ - protected function addNewWheresWithinGroup(BaseBuilder $query, $originalWhereCount) + protected function addNewWheresWithinGroup(QueryBuilder $query, $originalWhereCount) { // Here, we totally remove all of the where clauses since we are going to // rebuild them as nested queries by slicing the groups of wheres into @@ -1199,7 +1199,7 @@ protected function addNewWheresWithinGroup(BaseBuilder $query, $originalWhereCou * @param array $whereSlice * @return void */ - protected function groupWhereSliceForScope(BaseBuilder $query, $whereSlice) + protected function groupWhereSliceForScope(QueryBuilder $query, $whereSlice) { $whereBooleans = collect($whereSlice)->pluck('boolean'); From e4cc21bb0e2522b58b41fd6ba1d2ac6527e6d220 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Fri, 16 Jul 2021 09:23:49 -0500 Subject: [PATCH 14/14] formatting --- .../Contracts/Database/Query/Builder.php | 116 ------------------ .../Concerns/DecoratesQueryBuilder.php | 6 +- .../Database/Eloquent/Relations/MorphTo.php | 80 ++++++------ 3 files changed, 43 insertions(+), 159 deletions(-) diff --git a/src/Illuminate/Contracts/Database/Query/Builder.php b/src/Illuminate/Contracts/Database/Query/Builder.php index e475f1872acb..ec0d50ab2fcc 100644 --- a/src/Illuminate/Contracts/Database/Query/Builder.php +++ b/src/Illuminate/Contracts/Database/Query/Builder.php @@ -10,7 +10,6 @@ interface Builder * Set the columns to be selected. * * @param array|mixed $columns - * * @return static */ public function select($columns = ['*']); @@ -20,7 +19,6 @@ public function select($columns = ['*']); * * @param \Closure|static|string $query * @param string $as - * * @return static */ public function selectSub($query, $as); @@ -30,7 +28,6 @@ public function selectSub($query, $as); * * @param string $expression * @param array $bindings - * * @return static */ public function selectRaw($expression, array $bindings = []); @@ -40,7 +37,6 @@ public function selectRaw($expression, array $bindings = []); * * @param \Closure|static|string $query * @param string $as - * * @return static */ public function fromSub($query, $as); @@ -50,7 +46,6 @@ public function fromSub($query, $as); * * @param string $expression * @param mixed $bindings - * * @return static */ public function fromRaw($expression, $bindings = []); @@ -59,14 +54,12 @@ public function fromRaw($expression, $bindings = []); * Add a new select column to the query. * * @param array|mixed $column - * * @return static */ public function addSelect($column); /** * Force the query to only return distinct results. - * * @return static */ public function distinct(); @@ -76,7 +69,6 @@ public function distinct(); * * @param \Closure|static|string $table * @param string|null $as - * * @return static */ public function from($table, $as = null); @@ -90,7 +82,6 @@ public function from($table, $as = null); * @param string|null $second * @param string $type * @param bool $where - * * @return static */ public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false); @@ -103,7 +94,6 @@ public function join($table, $first, $operator = null, $second = null, $type = ' * @param string $operator * @param string $second * @param string $type - * * @return static */ public function joinWhere($table, $first, $operator, $second, $type = 'inner'); @@ -118,7 +108,6 @@ public function joinWhere($table, $first, $operator, $second, $type = 'inner'); * @param string|null $second * @param string $type * @param bool $where - * * @return static */ public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false); @@ -130,7 +119,6 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ * @param \Closure|string $first * @param string|null $operator * @param string|null $second - * * @return static */ public function leftJoin($table, $first, $operator = null, $second = null); @@ -142,7 +130,6 @@ public function leftJoin($table, $first, $operator = null, $second = null); * @param \Closure|string $first * @param string $operator * @param string $second - * * @return static */ public function leftJoinWhere($table, $first, $operator, $second); @@ -155,7 +142,6 @@ public function leftJoinWhere($table, $first, $operator, $second); * @param \Closure|string $first * @param string|null $operator * @param string|null $second - * * @return static */ public function leftJoinSub($query, $as, $first, $operator = null, $second = null); @@ -167,7 +153,6 @@ public function leftJoinSub($query, $as, $first, $operator = null, $second = nul * @param \Closure|string $first * @param string|null $operator * @param string|null $second - * * @return static */ public function rightJoin($table, $first, $operator = null, $second = null); @@ -179,7 +164,6 @@ public function rightJoin($table, $first, $operator = null, $second = null); * @param \Closure|string $first * @param string $operator * @param string $second - * * @return static */ public function rightJoinWhere($table, $first, $operator, $second); @@ -192,7 +176,6 @@ public function rightJoinWhere($table, $first, $operator, $second); * @param \Closure|string $first * @param string|null $operator * @param string|null $second - * * @return static */ public function rightJoinSub($query, $as, $first, $operator = null, $second = null); @@ -204,7 +187,6 @@ public function rightJoinSub($query, $as, $first, $operator = null, $second = nu * @param \Closure|string|null $first * @param string|null $operator * @param string|null $second - * * @return static */ public function crossJoin($table, $first = null, $operator = null, $second = null); @@ -214,7 +196,6 @@ public function crossJoin($table, $first = null, $operator = null, $second = nul * * @param \Closure|static|string $query * @param string $as - * * @return static */ public function crossJoinSub($query, $as); @@ -224,7 +205,6 @@ public function crossJoinSub($query, $as); * * @param array $wheres * @param array $bindings - * * @return static */ public function mergeWheres($wheres, $bindings); @@ -236,7 +216,6 @@ public function mergeWheres($wheres, $bindings); * @param mixed $operator * @param mixed $value * @param string $boolean - * * @return static */ public function where($column, $operator = null, $value = null, $boolean = 'and'); @@ -247,7 +226,6 @@ public function where($column, $operator = null, $value = null, $boolean = 'and' * @param string $value * @param string $operator * @param bool $useDefault - * * @return array */ public function prepareValueAndOperator($value, $operator, $useDefault = false); @@ -258,7 +236,6 @@ public function prepareValueAndOperator($value, $operator, $useDefault = false); * @param \Closure|Builder|string|array $column * @param mixed $operator * @param mixed $value - * * @return static */ public function orWhere($column, $operator = null, $value = null); @@ -270,7 +247,6 @@ public function orWhere($column, $operator = null, $value = null); * @param string|null $operator * @param string|null $second * @param string|null $boolean - * * @return static */ public function whereColumn($first, $operator = null, $second = null, $boolean = 'and'); @@ -281,7 +257,6 @@ public function whereColumn($first, $operator = null, $second = null, $boolean = * @param string|array $first * @param string|null $operator * @param string|null $second - * * @return static */ public function orWhereColumn($first, $operator = null, $second = null); @@ -292,7 +267,6 @@ public function orWhereColumn($first, $operator = null, $second = null); * @param string $sql * @param mixed $bindings * @param string $boolean - * * @return static */ public function whereRaw($sql, $bindings = [], $boolean = 'and'); @@ -302,7 +276,6 @@ public function whereRaw($sql, $bindings = [], $boolean = 'and'); * * @param string $sql * @param mixed $bindings - * * @return static */ public function orWhereRaw($sql, $bindings = []); @@ -314,7 +287,6 @@ public function orWhereRaw($sql, $bindings = []); * @param mixed $values * @param string $boolean * @param bool $not - * * @return static */ public function whereIn($column, $values, $boolean = 'and', $not = false); @@ -324,7 +296,6 @@ public function whereIn($column, $values, $boolean = 'and', $not = false); * * @param string $column * @param mixed $values - * * @return static */ public function orWhereIn($column, $values); @@ -335,7 +306,6 @@ public function orWhereIn($column, $values); * @param string $column * @param mixed $values * @param string $boolean - * * @return static */ public function whereNotIn($column, $values, $boolean = 'and'); @@ -345,7 +315,6 @@ public function whereNotIn($column, $values, $boolean = 'and'); * * @param string $column * @param mixed $values - * * @return static */ public function orWhereNotIn($column, $values); @@ -357,7 +326,6 @@ public function orWhereNotIn($column, $values); * @param \Illuminate\Contracts\Support\Arrayable|array $values * @param string $boolean * @param bool $not - * * @return static */ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false); @@ -367,7 +335,6 @@ public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = fal * * @param string $column * @param \Illuminate\Contracts\Support\Arrayable|array $values - * * @return static */ public function orWhereIntegerInRaw($column, $values); @@ -378,7 +345,6 @@ public function orWhereIntegerInRaw($column, $values); * @param string $column * @param \Illuminate\Contracts\Support\Arrayable|array $values * @param string $boolean - * * @return static */ public function whereIntegerNotInRaw($column, $values, $boolean = 'and'); @@ -388,7 +354,6 @@ public function whereIntegerNotInRaw($column, $values, $boolean = 'and'); * * @param string $column * @param \Illuminate\Contracts\Support\Arrayable|array $values - * * @return static */ public function orWhereIntegerNotInRaw($column, $values); @@ -399,7 +364,6 @@ public function orWhereIntegerNotInRaw($column, $values); * @param string|array $columns * @param string $boolean * @param bool $not - * * @return static */ public function whereNull($columns, $boolean = 'and', $not = false); @@ -408,7 +372,6 @@ public function whereNull($columns, $boolean = 'and', $not = false); * Add an "or where null" clause to the query. * * @param string|array $column - * * @return static */ public function orWhereNull($column); @@ -418,7 +381,6 @@ public function orWhereNull($column); * * @param string|array $columns * @param string $boolean - * * @return static */ public function whereNotNull($columns, $boolean = 'and'); @@ -430,7 +392,6 @@ public function whereNotNull($columns, $boolean = 'and'); * @param iterable $values * @param string $boolean * @param bool $not - * * @return static */ public function whereBetween($column, iterable $values, $boolean = 'and', $not = false); @@ -442,7 +403,6 @@ public function whereBetween($column, iterable $values, $boolean = 'and', $not = * @param array $values * @param string $boolean * @param bool $not - * * @return static */ public function whereBetweenColumns($column, array $values, $boolean = 'and', $not = false); @@ -452,7 +412,6 @@ public function whereBetweenColumns($column, array $values, $boolean = 'and', $n * * @param string $column * @param iterable $values - * * @return static */ public function orWhereBetween($column, iterable $values); @@ -462,7 +421,6 @@ public function orWhereBetween($column, iterable $values); * * @param string $column * @param array $values - * * @return static */ public function orWhereBetweenColumns($column, array $values); @@ -473,7 +431,6 @@ public function orWhereBetweenColumns($column, array $values); * @param string $column * @param iterable $values * @param string $boolean - * * @return static */ public function whereNotBetween($column, iterable $values, $boolean = 'and'); @@ -484,7 +441,6 @@ public function whereNotBetween($column, iterable $values, $boolean = 'and'); * @param string $column * @param array $values * @param string $boolean - * * @return static */ public function whereNotBetweenColumns($column, array $values, $boolean = 'and'); @@ -494,7 +450,6 @@ public function whereNotBetweenColumns($column, array $values, $boolean = 'and') * * @param string $column * @param iterable $values - * * @return static */ public function orWhereNotBetween($column, iterable $values); @@ -504,7 +459,6 @@ public function orWhereNotBetween($column, iterable $values); * * @param string $column * @param array $values - * * @return static */ public function orWhereNotBetweenColumns($column, array $values); @@ -513,7 +467,6 @@ public function orWhereNotBetweenColumns($column, array $values); * Add an "or where not null" clause to the query. * * @param string $column - * * @return static */ public function orWhereNotNull($column); @@ -525,7 +478,6 @@ public function orWhereNotNull($column); * @param string $operator * @param \DateTimeInterface|string|null $value * @param string $boolean - * * @return static */ public function whereDate($column, $operator, $value = null, $boolean = 'and'); @@ -536,7 +488,6 @@ public function whereDate($column, $operator, $value = null, $boolean = 'and'); * @param string $column * @param string $operator * @param \DateTimeInterface|string|null $value - * * @return static */ public function orWhereDate($column, $operator, $value = null); @@ -548,7 +499,6 @@ public function orWhereDate($column, $operator, $value = null); * @param string $operator * @param \DateTimeInterface|string|null $value * @param string $boolean - * * @return static */ public function whereTime($column, $operator, $value = null, $boolean = 'and'); @@ -559,7 +509,6 @@ public function whereTime($column, $operator, $value = null, $boolean = 'and'); * @param string $column * @param string $operator * @param \DateTimeInterface|string|null $value - * * @return static */ public function orWhereTime($column, $operator, $value = null); @@ -571,7 +520,6 @@ public function orWhereTime($column, $operator, $value = null); * @param string $operator * @param \DateTimeInterface|string|null $value * @param string $boolean - * * @return static */ public function whereDay($column, $operator, $value = null, $boolean = 'and'); @@ -582,7 +530,6 @@ public function whereDay($column, $operator, $value = null, $boolean = 'and'); * @param string $column * @param string $operator * @param \DateTimeInterface|string|null $value - * * @return static */ public function orWhereDay($column, $operator, $value = null); @@ -594,7 +541,6 @@ public function orWhereDay($column, $operator, $value = null); * @param string $operator * @param \DateTimeInterface|string|null $value * @param string $boolean - * * @return static */ public function whereMonth($column, $operator, $value = null, $boolean = 'and'); @@ -605,7 +551,6 @@ public function whereMonth($column, $operator, $value = null, $boolean = 'and'); * @param string $column * @param string $operator * @param \DateTimeInterface|string|null $value - * * @return static */ public function orWhereMonth($column, $operator, $value = null); @@ -617,7 +562,6 @@ public function orWhereMonth($column, $operator, $value = null); * @param string $operator * @param \DateTimeInterface|string|int|null $value * @param string $boolean - * * @return static */ public function whereYear($column, $operator, $value = null, $boolean = 'and'); @@ -628,7 +572,6 @@ public function whereYear($column, $operator, $value = null, $boolean = 'and'); * @param string $column * @param string $operator * @param \DateTimeInterface|string|int|null $value - * * @return static */ public function orWhereYear($column, $operator, $value = null); @@ -638,7 +581,6 @@ public function orWhereYear($column, $operator, $value = null); * * @param \Closure $callback * @param string $boolean - * * @return static */ public function whereNested(Closure $callback, $boolean = 'and'); @@ -648,7 +590,6 @@ public function whereNested(Closure $callback, $boolean = 'and'); * * @param static $query * @param string $boolean - * * @return static */ public function addNestedWhereQuery($query, $boolean = 'and'); @@ -659,7 +600,6 @@ public function addNestedWhereQuery($query, $boolean = 'and'); * @param \Closure $callback * @param string $boolean * @param bool $not - * * @return static */ public function whereExists(Closure $callback, $boolean = 'and', $not = false); @@ -669,7 +609,6 @@ public function whereExists(Closure $callback, $boolean = 'and', $not = false); * * @param \Closure $callback * @param bool $not - * * @return static */ public function orWhereExists(Closure $callback, $not = false); @@ -679,7 +618,6 @@ public function orWhereExists(Closure $callback, $not = false); * * @param \Closure $callback * @param string $boolean - * * @return static */ public function whereNotExists(Closure $callback, $boolean = 'and'); @@ -688,7 +626,6 @@ public function whereNotExists(Closure $callback, $boolean = 'and'); * Add a where not exists clause to the query. * * @param \Closure $callback - * * @return static */ public function orWhereNotExists(Closure $callback); @@ -700,7 +637,6 @@ public function orWhereNotExists(Closure $callback); * @param string $operator * @param array $values * @param string $boolean - * * @return static */ public function whereRowValues($columns, $operator, $values, $boolean = 'and'); @@ -711,7 +647,6 @@ public function whereRowValues($columns, $operator, $values, $boolean = 'and'); * @param array $columns * @param string $operator * @param array $values - * * @return static */ public function orWhereRowValues($columns, $operator, $values); @@ -723,7 +658,6 @@ public function orWhereRowValues($columns, $operator, $values); * @param mixed $value * @param string $boolean * @param bool $not - * * @return static */ public function whereJsonContains($column, $value, $boolean = 'and', $not = false); @@ -733,7 +667,6 @@ public function whereJsonContains($column, $value, $boolean = 'and', $not = fals * * @param string $column * @param mixed $value - * * @return static */ public function orWhereJsonContains($column, $value); @@ -744,7 +677,6 @@ public function orWhereJsonContains($column, $value); * @param string $column * @param mixed $value * @param string $boolean - * * @return static */ public function whereJsonDoesntContain($column, $value, $boolean = 'and'); @@ -754,7 +686,6 @@ public function whereJsonDoesntContain($column, $value, $boolean = 'and'); * * @param string $column * @param mixed $value - * * @return static */ public function orWhereJsonDoesntContain($column, $value); @@ -766,7 +697,6 @@ public function orWhereJsonDoesntContain($column, $value); * @param mixed $operator * @param mixed $value * @param string $boolean - * * @return static */ public function whereJsonLength($column, $operator, $value = null, $boolean = 'and'); @@ -777,7 +707,6 @@ public function whereJsonLength($column, $operator, $value = null, $boolean = 'a * @param string $column * @param mixed $operator * @param mixed $value - * * @return static */ public function orWhereJsonLength($column, $operator, $value = null); @@ -786,7 +715,6 @@ public function orWhereJsonLength($column, $operator, $value = null); * Add a "group by" clause to the query. * * @param array|string ...$groups - * * @return static */ public function groupBy(...$groups); @@ -796,7 +724,6 @@ public function groupBy(...$groups); * * @param string $sql * @param array $bindings - * * @return static */ public function groupByRaw($sql, array $bindings = []); @@ -808,7 +735,6 @@ public function groupByRaw($sql, array $bindings = []); * @param string|null $operator * @param string|null $value * @param string $boolean - * * @return static */ public function having($column, $operator = null, $value = null, $boolean = 'and'); @@ -819,7 +745,6 @@ public function having($column, $operator = null, $value = null, $boolean = 'and * @param string $column * @param string|null $operator * @param string|null $value - * * @return static */ public function orHaving($column, $operator = null, $value = null); @@ -830,7 +755,6 @@ public function orHaving($column, $operator = null, $value = null); * @param string|array $columns * @param string $boolean * @param bool $not - * * @return static */ public function havingNull($columns, $boolean = 'and', $not = false); @@ -839,7 +763,6 @@ public function havingNull($columns, $boolean = 'and', $not = false); * Add an "or having null" clause to the query. * * @param string $column - * * @return static */ public function orHavingNull($column); @@ -849,7 +772,6 @@ public function orHavingNull($column); * * @param string|array $columns * @param string $boolean - * * @return static */ public function havingNotNull($columns, $boolean = 'and'); @@ -858,7 +780,6 @@ public function havingNotNull($columns, $boolean = 'and'); * Add an "or having not null" clause to the query. * * @param string $column - * * @return static */ public function orHavingNotNull($column); @@ -870,7 +791,6 @@ public function orHavingNotNull($column); * @param array $values * @param string $boolean * @param bool $not - * * @return static */ public function havingBetween($column, array $values, $boolean = 'and', $not = false); @@ -881,7 +801,6 @@ public function havingBetween($column, array $values, $boolean = 'and', $not = f * @param string $sql * @param array $bindings * @param string $boolean - * * @return static */ public function havingRaw($sql, array $bindings = [], $boolean = 'and'); @@ -891,7 +810,6 @@ public function havingRaw($sql, array $bindings = [], $boolean = 'and'); * * @param string $sql * @param array $bindings - * * @return static */ public function orHavingRaw($sql, array $bindings = []); @@ -901,7 +819,6 @@ public function orHavingRaw($sql, array $bindings = []); * * @param \Closure|\Illuminate\Database\Query\Expression|Builder|string $column * @param string $direction - * * @return static */ public function orderBy($column, $direction = 'asc'); @@ -910,7 +827,6 @@ public function orderBy($column, $direction = 'asc'); * Add a descending "order by" clause to the query. * * @param \Closure|\Illuminate\Database\Query\Expression|Builder|string $column - * * @return static */ public function orderByDesc($column); @@ -919,7 +835,6 @@ public function orderByDesc($column); * Add an "order by" clause for a timestamp to the query. * * @param \Closure|\Illuminate\Database\Query\Expression|Builder|string $column - * * @return static */ public function latest($column = 'created_at'); @@ -928,7 +843,6 @@ public function latest($column = 'created_at'); * Add an "order by" clause for a timestamp to the query. * * @param \Closure|\Illuminate\Database\Query\Expression|Builder|string $column - * * @return static */ public function oldest($column = 'created_at'); @@ -937,7 +851,6 @@ public function oldest($column = 'created_at'); * Put the query's results in random order. * * @param string $seed - * * @return static */ public function inRandomOrder($seed = ''); @@ -947,7 +860,6 @@ public function inRandomOrder($seed = ''); * * @param string $sql * @param array $bindings - * * @return static */ public function orderByRaw($sql, $bindings = []); @@ -956,7 +868,6 @@ public function orderByRaw($sql, $bindings = []); * Alias to set the "offset" value of the query. * * @param int $value - * * @return static */ public function skip($value); @@ -965,7 +876,6 @@ public function skip($value); * Set the "offset" value of the query. * * @param int $value - * * @return static */ public function offset($value); @@ -974,7 +884,6 @@ public function offset($value); * Alias to set the "limit" value of the query. * * @param int $value - * * @return static */ public function take($value); @@ -983,7 +892,6 @@ public function take($value); * Set the "limit" value of the query. * * @param int $value - * * @return static */ public function limit($value); @@ -993,7 +901,6 @@ public function limit($value); * * @param int $page * @param int $perPage - * * @return static */ public function forPage($page, $perPage = 15); @@ -1004,7 +911,6 @@ public function forPage($page, $perPage = 15); * @param int $perPage * @param int|null $lastId * @param string $column - * * @return static */ public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id'); @@ -1015,7 +921,6 @@ public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id'); * @param int $perPage * @param int|null $lastId * @param string $column - * * @return static */ public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id'); @@ -1025,7 +930,6 @@ public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id'); * * @param string|null $column * @param string $direction - * * @return static */ public function reorder($column = null, $direction = 'asc'); @@ -1035,7 +939,6 @@ public function reorder($column = null, $direction = 'asc'); * * @param static|\Closure $query * @param bool $all - * * @return static */ public function union($query, $all = false); @@ -1044,7 +947,6 @@ public function union($query, $all = false); * Add a union all statement to the query. * * @param static|\Closure $query - * * @return static */ public function unionAll($query); @@ -1053,28 +955,24 @@ public function unionAll($query); * Lock the selected rows in the table. * * @param string|bool $value - * * @return static */ public function lock($value = true); /** * Lock the selected rows in the table for updating. - * * @return static */ public function lockForUpdate(); /** * Share lock the selected rows in the table. - * * @return static */ public function sharedLock(); /** * Get a new instance of the query builder. - * * @return static */ public function newQuery(); @@ -1083,21 +981,18 @@ public function newQuery(); * Create a raw database expression. * * @param mixed $value - * * @return \Illuminate\Database\Query\Expression */ public function raw($value); /** * Get the current query value bindings in a flattened array. - * * @return array */ public function getBindings(); /** * Get the raw array of bindings. - * * @return array */ public function getRawBindings(); @@ -1107,7 +1002,6 @@ public function getRawBindings(); * * @param array $bindings * @param string $type - * * @return static */ public function setBindings(array $bindings, $type = 'where'); @@ -1117,7 +1011,6 @@ public function setBindings(array $bindings, $type = 'where'); * * @param mixed $value * @param string $type - * * @return static */ public function addBinding($value, $type = 'where'); @@ -1126,7 +1019,6 @@ public function addBinding($value, $type = 'where'); * Merge an array of bindings into our bindings. * * @param Builder $query - * * @return static */ public function mergeBindings(Builder $query); @@ -1135,42 +1027,36 @@ public function mergeBindings(Builder $query); * Remove all of the expressions from a list of bindings. * * @param array $bindings - * * @return array */ public function cleanBindings(array $bindings); /** * Get the database connection instance. - * * @return \Illuminate\Database\ConnectionInterface */ public function getConnection(); /** * Get the database query processor instance. - * * @return \Illuminate\Database\Query\Processors\Processor */ public function getProcessor(); /** * Get the query grammar instance. - * * @return \Illuminate\Database\Query\Grammars\Grammar */ public function getGrammar(); /** * Use the write pdo for query. - * * @return static */ public function useWritePdo(); /** * Clone the query. - * * @return static */ public function clone(); @@ -1179,7 +1065,6 @@ public function clone(); * Clone the query without the given properties. * * @param array $properties - * * @return static */ public function cloneWithout(array $properties); @@ -1188,7 +1073,6 @@ public function cloneWithout(array $properties); * Clone the query without the given bindings. * * @param array $except - * * @return static */ public function cloneWithoutBindings(array $except); diff --git a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php index 8c2e5bedfdf8..b22c5b831a14 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php +++ b/src/Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder.php @@ -1200,7 +1200,6 @@ public function cloneWithoutBindings(array $except) * * @param string $method * @param array $parameters - * * @return mixed */ public function __call($method, $parameters) @@ -1209,9 +1208,10 @@ public function __call($method, $parameters) } /** - * @param $method - * @param $parameters + * Forward the given method to the query builder. * + * @param string $method + * @param array $parameters * @return static|mixed */ protected function forwardCallToQueryBuilder($method, $parameters) diff --git a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php index 26118caf1f23..811853fb0c61 100644 --- a/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ b/src/Illuminate/Database/Eloquent/Relations/MorphTo.php @@ -79,6 +79,46 @@ public function __construct(Builder $query, Model $parent, $foreignKey, $ownerKe parent::__construct($query, $parent, $foreignKey, $ownerKey, $relation); } + /** + * {@inheritdoc} + */ + public function select($columns = ['*']) + { + $this->macroBuffer[] = ['method' => 'select', 'parameters' => [$columns]]; + + return parent::select($columns); + } + + /** + * {@inheritdoc} + */ + public function selectRaw($expression, array $bindings = []) + { + $this->macroBuffer[] = ['method' => 'selectRaw', 'parameters' => [$expression, $bindings]]; + + return parent::selectRaw($expression, $bindings); + } + + /** + * {@inheritdoc} + */ + public function selectSub($query, $as) + { + $this->macroBuffer[] = ['method' => 'selectSub', 'parameters' => [$query, $as]]; + + return parent::selectSub($query, $as); + } + + /** + * {@inheritdoc} + */ + public function addSelect($column) + { + $this->macroBuffer[] = ['method' => 'addSelect', 'parameters' => [$column]]; + + return parent::addSelect($column); + } + /** * Set the constraints for an eager load of the relation. * @@ -350,46 +390,6 @@ public function constrain(array $callbacks) return $this; } - /** - * {@inheritdoc} - */ - public function select($columns = ['*']) - { - $this->macroBuffer[] = ['method' => 'select', 'parameters' => [$columns]]; - - return parent::select($columns); - } - - /** - * {@inheritdoc} - */ - public function selectRaw($expression, array $bindings = []) - { - $this->macroBuffer[] = ['method' => 'selectRaw', 'parameters' => [$expression, $bindings]]; - - return parent::selectRaw($expression, $bindings); - } - - /** - * {@inheritdoc} - */ - public function selectSub($query, $as) - { - $this->macroBuffer[] = ['method' => 'selectSub', 'parameters' => [$query, $as]]; - - return parent::selectSub($query, $as); - } - - /** - * {@inheritdoc} - */ - public function addSelect($column) - { - $this->macroBuffer[] = ['method' => 'addSelect', 'parameters' => [$column]]; - - return parent::addSelect($column); - } - /** * Replay stored macro calls on the actual related instance. *