platform/api/laravel/Database/Query/JoinClause.yaml
2024-09-02 10:44:11 -07:00

160 lines
4 KiB
YAML

name: JoinClause
class_comment: null
dependencies:
- name: Closure
type: class
source: Closure
properties:
- name: type
visibility: public
comment: '# * The type of join being performed.
# *
# * @var string'
- name: table
visibility: public
comment: '# * The table the join clause is joining to.
# *
# * @var string'
- name: parentConnection
visibility: protected
comment: '# * The connection of the parent query builder.
# *
# * @var \Illuminate\Database\ConnectionInterface'
- name: parentGrammar
visibility: protected
comment: '# * The grammar of the parent query builder.
# *
# * @var \Illuminate\Database\Query\Grammars\Grammar'
- name: parentProcessor
visibility: protected
comment: '# * The processor of the parent query builder.
# *
# * @var \Illuminate\Database\Query\Processors\Processor'
- name: parentClass
visibility: protected
comment: '# * The class name of the parent query builder.
# *
# * @var string'
methods:
- name: __construct
visibility: public
parameters:
- name: parentQuery
- name: type
- name: table
comment: "# * The type of join being performed.\n# *\n# * @var string\n# */\n# public\
\ $type;\n# \n# /**\n# * The table the join clause is joining to.\n# *\n# * @var\
\ string\n# */\n# public $table;\n# \n# /**\n# * The connection of the parent\
\ query builder.\n# *\n# * @var \\Illuminate\\Database\\ConnectionInterface\n\
# */\n# protected $parentConnection;\n# \n# /**\n# * The grammar of the parent\
\ query builder.\n# *\n# * @var \\Illuminate\\Database\\Query\\Grammars\\Grammar\n\
# */\n# protected $parentGrammar;\n# \n# /**\n# * The processor of the parent\
\ query builder.\n# *\n# * @var \\Illuminate\\Database\\Query\\Processors\\Processor\n\
# */\n# protected $parentProcessor;\n# \n# /**\n# * The class name of the parent\
\ query builder.\n# *\n# * @var string\n# */\n# protected $parentClass;\n# \n\
# /**\n# * Create a new join clause instance.\n# *\n# * @param \\Illuminate\\\
Database\\Query\\Builder $parentQuery\n# * @param string $type\n# * @param\
\ string $table\n# * @return void"
- name: 'on'
visibility: public
parameters:
- name: first
- name: operator
default: 'null'
- name: second
default: 'null'
- name: boolean
default: '''and'''
comment: '# * Add an "on" clause to the join.
# *
# * On clauses can be chained, e.g.
# *
# * $join->on(''contacts.user_id'', ''='', ''users.id'')
# * ->on(''contacts.info_id'', ''='', ''info.id'')
# *
# * will produce the following SQL:
# *
# * on `contacts`.`user_id` = `users`.`id` and `contacts`.`info_id` = `info`.`id`
# *
# * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first
# * @param string|null $operator
# * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second
# * @param string $boolean
# * @return $this
# *
# * @throws \InvalidArgumentException'
- name: orOn
visibility: public
parameters:
- name: first
- name: operator
default: 'null'
- name: second
default: 'null'
comment: '# * Add an "or on" clause to the join.
# *
# * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first
# * @param string|null $operator
# * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second
# * @return \Illuminate\Database\Query\JoinClause'
- name: newQuery
visibility: public
parameters: []
comment: '# * Get a new instance of the join clause builder.
# *
# * @return \Illuminate\Database\Query\JoinClause'
- name: forSubQuery
visibility: protected
parameters: []
comment: '# * Create a new query instance for sub-query.
# *
# * @return \Illuminate\Database\Query\Builder'
- name: newParentQuery
visibility: protected
parameters: []
comment: '# * Create a new parent query instance.
# *
# * @return \Illuminate\Database\Query\Builder'
traits:
- Closure
interfaces: []