name: CanBeOneOfMany class_comment: null dependencies: - name: Closure type: class source: Closure - name: Builder type: class source: Illuminate\Database\Eloquent\Builder - name: JoinClause type: class source: Illuminate\Database\Query\JoinClause - name: Arr type: class source: Illuminate\Support\Arr - name: InvalidArgumentException type: class source: InvalidArgumentException properties: - name: isOneOfMany visibility: protected comment: '# * Determines whether the relationship is one-of-many. # * # * @var bool' - name: relationName visibility: protected comment: '# * The name of the relationship. # * # * @var string' - name: oneOfManySubQuery visibility: protected comment: '# * The one of many inner join subselect query builder instance. # * # * @var \Illuminate\Database\Eloquent\Builder<*>|null' methods: - name: ofMany visibility: public parameters: - name: column default: '''id''' - name: aggregate default: '''MAX''' - name: relation default: 'null' comment: "# * Determines whether the relationship is one-of-many.\n# *\n# * @var\ \ bool\n# */\n# protected $isOneOfMany = false;\n# \n# /**\n# * The name of the\ \ relationship.\n# *\n# * @var string\n# */\n# protected $relationName;\n# \n\ # /**\n# * The one of many inner join subselect query builder instance.\n# *\n\ # * @var \\Illuminate\\Database\\Eloquent\\Builder<*>|null\n# */\n# protected\ \ $oneOfManySubQuery;\n# \n# /**\n# * Add constraints for inner join subselect\ \ for one of many relationships.\n# *\n# * @param \\Illuminate\\Database\\Eloquent\\\ Builder<*> $query\n# * @param string|null $column\n# * @param string|null\ \ $aggregate\n# * @return void\n# */\n# abstract public function addOneOfManySubQueryConstraints(Builder\ \ $query, $column = null, $aggregate = null);\n# \n# /**\n# * Get the columns\ \ the determine the relationship groups.\n# *\n# * @return array|string\n# */\n\ # abstract public function getOneOfManySubQuerySelectColumns();\n# \n# /**\n#\ \ * Add join query constraints for one of many relationships.\n# *\n# * @param\ \ \\Illuminate\\Database\\Query\\JoinClause $join\n# * @return void\n# */\n\ # abstract public function addOneOfManyJoinSubQueryConstraints(JoinClause $join);\n\ # \n# /**\n# * Indicate that the relation is a single result of a larger one-to-many\ \ relationship.\n# *\n# * @param string|array|null $column\n# * @param string|\\\ Closure|null $aggregate\n# * @param string|null $relation\n# * @return $this\n\ # *\n# * @throws \\InvalidArgumentException" - name: latestOfMany visibility: public parameters: - name: column default: '''id''' - name: relation default: 'null' comment: '# * Indicate that the relation is the latest single result of a larger one-to-many relationship. # * # * @param string|array|null $column # * @param string|null $relation # * @return $this' - name: oldestOfMany visibility: public parameters: - name: column default: '''id''' - name: relation default: 'null' comment: '# * Indicate that the relation is the oldest single result of a larger one-to-many relationship. # * # * @param string|array|null $column # * @param string|null $relation # * @return $this' - name: getDefaultOneOfManyJoinAlias visibility: protected parameters: - name: relation comment: '# * Get the default alias for the one of many inner join clause. # * # * @param string $relation # * @return string' - name: newOneOfManySubQuery visibility: protected parameters: - name: groupBy - name: columns default: 'null' - name: aggregate default: 'null' comment: '# * Get a new query for the related model, grouping the query by the given column, often the foreign key of the relationship. # * # * @param string|array $groupBy # * @param array|null $columns # * @param string|null $aggregate # * @return \Illuminate\Database\Eloquent\Builder<*>' - name: addOneOfManyJoinSubQuery visibility: protected parameters: - name: parent - name: subQuery - name: 'on' comment: '# * Add the join subquery to the given query on the given column and the relationship''s foreign key. # * # * @param \Illuminate\Database\Eloquent\Builder<*> $parent # * @param \Illuminate\Database\Eloquent\Builder<*> $subQuery # * @param array $on # * @return void' - name: mergeOneOfManyJoinsTo visibility: protected parameters: - name: query comment: '# * Merge the relationship query joins to the given query builder. # * # * @param \Illuminate\Database\Eloquent\Builder<*> $query # * @return void' - name: getRelationQuery visibility: protected parameters: [] comment: '# * Get the query builder that will contain the relationship constraints. # * # * @return \Illuminate\Database\Eloquent\Builder<*>' - name: getOneOfManySubQuery visibility: public parameters: [] comment: '# * Get the one of many inner join subselect builder instance. # * # * @return \Illuminate\Database\Eloquent\Builder<*>|void' - name: qualifySubSelectColumn visibility: public parameters: - name: column comment: '# * Get the qualified column name for the one-of-many relationship using the subselect join query''s alias. # * # * @param string $column # * @return string' - name: qualifyRelatedColumn visibility: protected parameters: - name: column comment: '# * Qualify related column using the related table name if it is not already qualified. # * # * @param string $column # * @return string' - name: guessRelationship visibility: protected parameters: [] comment: '# * Guess the "hasOne" relationship''s name via backtrace. # * # * @return string' - name: isOneOfMany visibility: public parameters: [] comment: '# * Determine whether the relationship is a one-of-many relationship. # * # * @return bool' - name: getRelationName visibility: public parameters: [] comment: '# * Get the name of the relationship. # * # * @return string' traits: - Closure - Illuminate\Database\Eloquent\Builder - Illuminate\Database\Query\JoinClause - Illuminate\Support\Arr - InvalidArgumentException interfaces: []