public function table($table, $alias = null)
    {
        // comma-separated table names
        if (is_string($table) && strpos($table, ',') !== false) {
            $table = explode(',', $table);
        }

        // array of tables - recursively process each
        if (is_array($table)) {
            if ($alias !== null) {
                throw new Exception([
                    'You cannot use single alias with multiple tables',
                    'alias' => $alias,
                ]);
            }

            foreach ($table as $alias => $t) {
                if (is_numeric($alias)) {
                    $alias = null;
                }
                $this->table($t, $alias);
            }

            return $this;
        }

        // if table is set as sub-Query, then alias is mandatory
        if ($table instanceof self && $alias === null) {
            throw new Exception('If table is set as Query, then table alias is mandatory');
        }

        if (is_string($table) && $alias === null) {
            $alias = $table;
        }

        // main_table will be set only if table() is called once.
        // it's used as "default table" when joining with other tables, see join().
        // on multiple calls, main_table will be false and we won't
        // be able to join easily anymore.
        $this->main_table = ($this->main_table === null && $alias !== null ? $alias : false);

        // save table in args
        $this->_set_args('table', $alias, $table);

        return $this;
    }
public function table($table, $alias = null)
    {
        // comma-separated table names
        if (is_string($table) && strpos($table, ',') !== false) {
            $table = explode(',', $table);
        }

        // array of tables - recursively process each
        if (is_array($table)) {
            if ($alias !== null) {
                throw new Exception([
                    'You cannot use single alias with multiple tables',
                    'alias' => $alias,
                ]);
            }

            foreach ($table as $alias => $t) {
                if (is_numeric($alias)) {
                    $alias = null;
                }
                $this->table($t, $alias);
            }

            return $this;
        }

        // if table is set as sub-Query, then alias is mandatory
        if ($table instanceof self && $alias === null) {
            throw new Exception('If table is set as Query, then table alias is mandatory');
        }

        if (is_string($table) && $alias === null) {
            $alias = $table;
        }

        // main_table will be set only if table() is called once.
        // it's used as "default table" when joining with other tables, see join().
        // on multiple calls, main_table will be false and we won't
        // be able to join easily anymore.
        $this->main_table = ($this->main_table === null && $alias !== null ? $alias : false);

        // save table in args
        $this->_set_args('table', $alias, $table);

        return $this;
    }
public function table ( $ table , $ alias = null ) { // comma-separated table names if ( is_string ( $ table ) && strpos ( $ table , ',' ) !== false ) { $ table = explode ( ',' , $ table ) ; } // array of tables - recursively process each if ( is_array ( $ table ) ) { if ( $ alias !== null ) { throw new Exception ( [ 'You cannot use single alias with multiple tables' , 'alias' => $ alias , ] ) ; } foreach ( $ table as $ alias => $ t ) { if ( is_numeric ( $ alias ) ) { $ alias = null ; } $ this -> table ( $ t , $ alias ) ; } return $ this ; } // if table is set as sub-Query, then alias is mandatory if ( $ table instanceof self && $ alias === null ) { throw new Exception ( 'If table is set as Query, then table alias is mandatory' ) ; } if ( is_string ( $ table ) && $ alias === null ) { $ alias = $ table ; } // main_table will be set only if table() is called once. // it's used as "default table" when joining with other tables, see join(). // on multiple calls, main_table will be false and we won't // be able to join easily anymore. $ this -> main_table = ( $ this -> main_table === null && $ alias !== null ? $ alias : false ) ; // save table in args $ this -> _set_args ( 'table' , $ alias , $ table ) ; return $ this ; }
Specify a table to be used in a query.

@param mixed  $table Specifies table
@param string $alias Specify alias for this table

@return $this
Specify a table to be used in a query .