Server IP : 192.158.238.246 / Your IP : 18.118.210.233 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/Framework/QueryBuilder/ |
Upload File : |
<?php namespace Give\Framework\QueryBuilder; use Give\Framework\QueryBuilder\Clauses\Join; use Give\Framework\QueryBuilder\Clauses\JoinCondition; use Give\Framework\QueryBuilder\Clauses\RawSQL; use Give\Framework\QueryBuilder\Types\JoinType; use Give\Framework\QueryBuilder\Types\Operator; /** * @since 2.19.0 */ class JoinQueryBuilder { /** * @var Join[]|JoinCondition[]|RawSQL[] */ private $joins = []; /** * @param string|RawSQL $table * @param null|string $alias * * @return $this */ public function leftJoin($table, $alias = null) { return $this->join( JoinType::LEFT, $table, $alias ); } /** * @param string|RawSQL $table * @param null|string $alias * * @return $this */ public function rightJoin($table, $alias = null) { return $this->join( JoinType::RIGHT, $table, $alias ); } /** * @param string|RawSQL $table * @param null|string $alias * * @return $this */ public function innerJoin($table, $alias = null) { return $this->join( JoinType::INNER, $table, $alias ); } /** * @param string $column1 * @param string $column2 * @param bool $quote * * @return $this */ public function on($column1, $column2, $quote = false) { return $this->joinCondition( Operator::ON, $column1, $column2, $quote ); } /** * @param string $column1 * @param string $column2 * @param bool $quote * * @return $this */ public function andOn($column1, $column2, $quote = null) { return $this->joinCondition( Operator::_AND, $column1, $column2, $quote ); } /** * @param string $column1 * @param string $column2 * @param bool $quote * * @return $this */ public function orOn($column1, $column2, $quote = null) { return $this->joinCondition( Operator::_OR, $column1, $column2, $quote ); } /** * Add raw SQL JOIN clause * * @param string $sql * @param ...$args */ public function joinRaw($sql, ...$args) { $this->joins[] = new RawSQL($sql, $args); } /** * Add Join * * @param string $joinType * @param string|RawSQL $table * @param string $alias * * @return $this */ private function join($joinType, $table, $alias) { $this->joins[] = new Join( $joinType, $table, $alias ); return $this; } /** * Add JoinCondition * * @param string $operator * @param string $column1 * @param string $column2 * @param bool $quote * * @return $this */ private function joinCondition($operator, $column1, $column2, $quote) { $this->joins[] = new JoinCondition( $operator, $column1, $column2, $quote ); return $this; } /** * @return Join[]|JoinCondition[] */ public function getDefinedJoins() { return $this->joins; } }