public function joinToQuery(Select $query, $leftAlias, $alias) { $joinTable = $this->getJoinTable(); $query->leftJoin($leftAlias, $joinTable, $joinTable, (new Expression())->eq("{$leftAlias}.{$this->getForeignKey()}", "{$joinTable}.{$this->getJoinTableForeignKey()}")); $query->leftJoin($joinTable, $this->related->getTable(), $alias, (new Expression())->eq("{$joinTable}.{$this->getJoinTableTargetKey()}", "{$alias}.{$this->getTargetKey()}")); }