Всем привет. Что имеем: Joomla 1.5 Минимум модификаций. Пишу компонент по MVC стандарту. Структура models -> common_model (написано мной и работает) tables -> my_table_one (написано мной и работает), my_table_two (не работает) controller.php Что делаю - my_table_two - копия первого с измененной структурой под нужную таблицу. class TableGISMyTableOne extends JTable { var $id = null; var $catid = null; var $title = null; var $alias = null; function __construct( &$db ) { parent::__construct( '#__gis_coordinate', 'id', $db ); } } class TableGISMyTableTwo extends JTable { var $id = null; var $catid = null; var $title = null; var $alias = null; var $link = null; function __construct( &$db ) { parent::__construct( '#__gis_hyper', 'id', $db ); } } При попытке создания второй таблицы (& $this->getTable('gismytabletwo') - вылезает ошибка. а первая таблица создается БЕЗ Проблем... Причем, если в том месте, где надо создать вторую таблицу - вписать создание первой - то таблица создается. Уже всю голову сломал, не получается ничего...
Самое интересное, что & $this->getTable('GISMyTableTwo'); выдает искомую ошибку... А вот такая конструкция таблицу создает... & $this->_createTable( 'GISMyTableTwo', 'Table' , $option = Array()); Вторая конструкция взята из сырцов от getTable: function &_createTable( $name, $prefix = 'Table', $config = array()) { $result = null; // Clean the model name $name = preg_replace( '/[^A-Z0-9_]/i', '', $name ); $prefix = preg_replace( '/[^A-Z0-9_]/i', '', $prefix ); //Make sure we are returning a DBO object if (!array_key_exists('dbo', $config)) { $config['dbo'] =& $this->getDBO();; } $instance =& JTable::getInstance($name, $prefix, $config ); return $instance; } function &getTable($name='', $prefix='Table', $options = array()) { if (empty($name)) { $name = $this->getName(); } if($table = &$this->_createTable( $name, $prefix, $options )) { return $table; } JError::raiseError( 0, 'Table ' . $name . ' not supported. File not found.' ); $null = null; return $null; } $polylineTableRow =& $this->getTable('phocamapspoint');