Browse Source

Refactoring Model::getColumnType() and Model::getColumnTypes()

git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@4567 3807eeeb-6ff5-0310-8944-8be069107fe0
nate 19 years ago
parent
commit
7c9e71e72d
1 changed files with 4 additions and 16 deletions
  1. 4 16
      cake/libs/model/model.php

+ 4 - 16
cake/libs/model/model.php

@@ -830,14 +830,7 @@ class Model extends Overloadable {
  */
 	function getColumnTypes() {
 		$columns = $this->loadInfo();
-		$columns = $columns->value;
-		$db =& ConnectionManager::getDataSource($this->useDbConfig);
-		$cols = array();
-
-		foreach($columns as $col) {
-			$cols[$col['name']] = $col['type'];
-		}
-		return $cols;
+		return array_combine($columns->extract('{n}.name'), $columns->extract('{n}.type'));
 	}
 /**
  * Returns the column type of a column in the model
@@ -846,14 +839,9 @@ class Model extends Overloadable {
  * @return string Column type
  */
 	function getColumnType($column) {
-		$columns = $this->loadInfo();
-		$columns = $columns->value;
-		$cols = array();
-
-		foreach($columns as $col) {
-			if ($col['name'] == $column) {
-				return $col['type'];
-			}
+		$cols = $this->getColumnTypes();
+		if (isset($cols[$column])) {
+			return $cols[$column];
 		}
 		return null;
 	}