joinType; } public function getJoin(): string { return $this->join; } public function getAlias(): string|null { return $this->alias; } /** @psalm-return self::ON|self::WITH|null */ public function getConditionType(): string|null { return $this->conditionType; } public function getCondition(): string|Comparison|Composite|Func|null { return $this->condition; } public function getIndexBy(): string|null { return $this->indexBy; } public function __toString(): string { return strtoupper($this->joinType) . ' JOIN ' . $this->join . ($this->alias ? ' ' . $this->alias : '') . ($this->indexBy ? ' INDEX BY ' . $this->indexBy : '') . ($this->condition ? ' ' . strtoupper($this->conditionType) . ' ' . $this->condition : ''); } }