コード例 #1
0
 /**
  * Get columns for admin generator instance
  *
  * @param string $paramName 
  * @param string $category 
  * @return array $columns
  */
 public function getColumns($paramName, $category = 'NONE')
 {
     $columns = parent::getColumns($paramName, $category);
     // set the foreign key indicator
     $relations = $this->getTable()->getRelations();
     $relationKeys = array();
     foreach ($relations as $key => $relation) {
         $relationKeys[$relation->getLocalFieldName()] = $key;
     }
     $cols = $this->getTable()->getColumns();
     foreach ($columns as $index => $column) {
         if (isset($relations[$column->getName()])) {
             $relationKey = $column->getName();
         } elseif (array_key_exists($column->getName(), $relationKeys)) {
             $relationKey = $relationKeys[$column->getName()];
         } else {
             $relationKey = false;
         }
         if ($relationKey) {
             $fkcolumn = $relations[$relationKey];
             $columnName = $relations[$relationKey]->getLocal();
             if ($columnName != 'id') {
                 $column->setRelatedClassName($fkcolumn->getTable()->getComponentName());
                 $column->setColumnName($columnName);
                 // if it is not a many2many
                 if (isset($cols[$columnName])) {
                     $column->setColumnInfo($cols[$columnName]);
                 }
                 $columns[$index] = $column;
             }
         }
     }
     return $columns;
 }
コード例 #2
0
 public function getColumns($paramName, $category = 'NONE')
 {
     $columns = parent::getColumns($paramName, $category);
     // set the foreign key indicator
     $relations = $this->getTable()->getRelations();
     $cols = $this->getTable()->getColumns();
     foreach ($columns as $index => $column) {
         if (isset($relations[$column->getName()])) {
             $fkcolumn = $relations[$column->getName()];
             $columnName = $relations[$column->getName()]->getLocal();
             if ($columnName != 'id') {
                 $column->setRelatedClassName($fkcolumn->getTable()->getComponentName());
                 $column->setColumnName($columnName);
                 if (isset($cols[$columnName])) {
                     // if it is not a many2many
                     $column->setColumnInfo($cols[$columnName]);
                 }
                 $columns[$index] = $column;
             }
         }
     }
     return $columns;
 }