protected function getArrayJoin($dataMember, $statementNum, $offset)
    {
        if (count($this->{$dataMember}[$statementNum][1][$offset]) == 3) {
            $item = $this->{$dataMember}[$statementNum][1][$offset];
            return $this->clean($item[0]).' '.$item[1]." ".$this->clean($item[2]);
        }
        else {
            throw new \Exception("Cora's Query Builder class expects advanced query components to be in an array with form [column, operator, value]");
        }
    }
protected function getArrayJoin($dataMember, $statementNum, $offset)
    {
        if (count($this->{$dataMember}[$statementNum][1][$offset]) == 3) {
            $item = $this->{$dataMember}[$statementNum][1][$offset];
            return $this->clean($item[0]).' '.$item[1]." ".$this->clean($item[2]);
        }
        else {
            throw new \Exception("Cora's Query Builder class expects advanced query components to be in an array with form [column, operator, value]");
        }
    }
Returns a string in "table1.column = table2.column" format.
This method differs from getArrayCondition() not only because it doesn't have to take
into account IN operators and is simpler because of it, but mainly because it doesn't
wrap the VALUE in "column = value" in parenthesis because the expected value field is a table reference.