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: []