public function getQuery()
    {
        $query = $this->database->getSelectQuery()->from($this->table);

        foreach ($this->join as $join) {
            if (!is_array($join[2])) {
                $join[2] = [$join[2]];
            }

            $where = array_shift($join[2]);
            if (!empty($join[2])) {
                foreach ($join[2] as $i => $value) {
                    $join[2][$i] = $this->database->bind($value);
                }

                $where = vsprintf($where, $join[2]);
            }

            $query->join($join[0], $join[1], $where, $join[3]);
        }

        foreach ($this->filter as $i => $filter) {
            //array('post_id=%s AND post_title IN %s', 123, array('asd'));
            $where = array_shift($filter);
            if (!empty($filter)) {
                foreach ($filter as $i => $value) {
                    $filter[$i] = $this->database->bind($value);
                }

                $where = vsprintf($where, $filter);
            }

            $query->where($where);
        }

        return $query;
    }
public function getQuery()
    {
        $query = $this->database->getSelectQuery()->from($this->table);

        foreach ($this->join as $join) {
            if (!is_array($join[2])) {
                $join[2] = [$join[2]];
            }

            $where = array_shift($join[2]);
            if (!empty($join[2])) {
                foreach ($join[2] as $i => $value) {
                    $join[2][$i] = $this->database->bind($value);
                }

                $where = vsprintf($where, $join[2]);
            }

            $query->join($join[0], $join[1], $where, $join[3]);
        }

        foreach ($this->filter as $i => $filter) {
            //array('post_id=%s AND post_title IN %s', 123, array('asd'));
            $where = array_shift($filter);
            if (!empty($filter)) {
                foreach ($filter as $i => $value) {
                    $filter[$i] = $this->database->bind($value);
                }

                $where = vsprintf($where, $filter);
            }

            $query->where($where);
        }

        return $query;
    }
public function getQuery ( ) { $ query = $ this -> database -> getSelectQuery ( ) -> from ( $ this -> table ) ; foreach ( $ this -> join as $ join ) { if ( ! is_array ( $ join [ 2 ] ) ) { $ join [ 2 ] = [ $ join [ 2 ] ] ; } $ where = array_shift ( $ join [ 2 ] ) ; if ( ! empty ( $ join [ 2 ] ) ) { foreach ( $ join [ 2 ] as $ i => $ value ) { $ join [ 2 ] [ $ i ] = $ this -> database -> bind ( $ value ) ; } $ where = vsprintf ( $ where , $ join [ 2 ] ) ; } $ query -> join ( $ join [ 0 ] , $ join [ 1 ] , $ where , $ join [ 3 ] ) ; } foreach ( $ this -> filter as $ i => $ filter ) { //array('post_id=%s AND post_title IN %s', 123, array('asd')); $ where = array_shift ( $ filter ) ; if ( ! empty ( $ filter ) ) { foreach ( $ filter as $ i => $ value ) { $ filter [ $ i ] = $ this -> database -> bind ( $ value ) ; } $ where = vsprintf ( $ where , $ filter ) ; } $ query -> where ( $ where ) ; } return $ query ; }
Builds query based on the data given

@return string
Builds query based on the data given