public function columns($columns)
    {
        if( is_array($columns) ||
            is_string($columns) ||
            $columns instanceof Expression ) {
            $this->columns = $columns;
        } else {
            throw new InvalidArgumentException('Invalid columns parameter');
        }
        return $this;
    }
public function columns($columns)
    {
        if( is_array($columns) ||
            is_string($columns) ||
            $columns instanceof Expression ) {
            $this->columns = $columns;
        } else {
            throw new InvalidArgumentException('Invalid columns parameter');
        }
        return $this;
    }
public function columns ( $ columns ) { if ( is_array ( $ columns ) || is_string ( $ columns ) || $ columns instanceof Expression ) { $ this -> columns = $ columns ; } else { throw new InvalidArgumentException ( 'Invalid columns parameter' ) ; } return $ this ; }
Set the columns

@param mixed $columns
@return $this
@throws InvalidArgumentException
Set the columns