/** * Method to initialize the database tables. * * @return void * * @since 12.1 * @throws RuntimeException */ protected function initializeTables() { // Check if the tables have been initialized. if (!$this->initialized) { // Fetch the column data for each table. foreach ($this->tables as $alias => $table) { // Get the table columns. $columns = $this->db->getTableColumns($table, false); // Set the table columns. $this->columns[$alias] = $columns; } // Set the initialized flag. $this->initialized = true; } }
/** * Get the columns from database table. * * @return mixed An array of the field names, or false if an error occurs. * * @since 11.1 */ public function getFields() { static $cache = null; if ($cache === null) { // Lookup the fields for this table only once. $name = $this->_tbl; $fields = $this->_db->getTableColumns($name, false); if (empty($fields)) { $e = new JException(JText::_('JLIB_DATABASE_ERROR_COLUMNS_NOT_FOUND')); $this->setError($e); return false; } $cache = $fields; } return $cache; }