public function init() { $this->_table = getTableFromObjectString($this->_modelname); $this->view->ControllerName = $this->_getParam('controller', ''); $this->_fields = $this->_table->getStructure(); foreach ($this->_fields as $name => $value) { if ($value[1] == "Subtable") { $this->_fields[$name][3] = getTableFromObjectString($value[3])->getStructure(); } } $this->view->fields = $this->_fields; }
public function init() { Zend_Controller_Front::getInstance()->getParam('log')->debug("CrudController_Abstract::init()"); $this->_table = getTableFromObjectString($this->_modelname); $this->view->ControllerName = $this->_getParam('controller', ''); $this->_fields = $this->_table->getStructure(); foreach ($this->_fields as $name => $value) { if ($value[1] == "Subtable") { $this->_fields[$name][3] = getTableFromObjectString($value[3])->getStructure(); } } $this->view->fields = $this->_fields; }
public function ConvertToArray($main_row, $depth = 0) { // $this->log->debug("ConvertToArray(" . $main_row->getTableClass() . ") ". // $this->_name . "\n"); ++$depth; $data = $main_row->toArray(); if ($depth <= 2) { foreach ($this->_structure as $name => $value) { // $this->log->debug("ConvertToArray: " . $name ); switch (strtolower($value[1])) { case "subtable": $sub_table = getTableFromObjectString($value[3]); // $select = new Zend_Db_Table_Select(); // $select->from( $sub_table, $value[0] ); // $sub_rows = $main_row->findDependentRowset( $sub_table, $select ); $sub_rows = $main_row->findDependentRowset($sub_table); foreach ($sub_rows as $sub_row) { $data[$name][] = $sub_table->ConvertToArray($sub_row, $depth); } // $sub_ReferenceMap = $sub_table->getReferenceMap(); // // $data[$name] = $sub_table->GetArrayAll( array($sub_ReferenceMap['Texts'] => $data['ID']), null, null, null, $depth ); break; case "subattribute": // echo $value[3] ."\n"; $sub_table = getTableFromObjectString($value[3]); $sub_rows = $main_row->findDependentRowset($sub_table); $tmp = array(); foreach ($sub_rows as $sub_row) { $sub_row = $sub_table->ConvertToArray($sub_row, $depth); $tmp[] = $sub_row[$value[4]]; } $data[$name] = join($value[5], $tmp); // $select = new Zend_Db_Table_Select($sub_table); // $select->from( $sub_table, array($value[4]) ); // $sub_rows = $main_row->findDependentRowset( $sub_table, $select ); // $tmp = array(); // foreach ($sub_rows as $sub_row) { // $sub_row = $sub_table->ConvertToArray($sub_row, $depth); // $tmp[] = $sub_row[$value[4]]; // } $data[$name] = join($value[5], $tmp); break; case "parent": $tmp = $main_row->findParentRow(getTableFromObjectString($value[3]))->toArray(); // echo $this->getTableName() . ": {$value[3]}: $name = {$value[0]}\n"; $data[$name] = $tmp[$value[0]]; break; } } } return $data; }