public function __construct(array $createStatementLines, $tableName, Garp_Spawn_Model_Abstract $model) { $this->setTableName($tableName); $this->_model = $model; foreach ($createStatementLines as $line) { if (Garp_Spawn_MySql_ForeignKey::isForeignKeyStatement($line)) { $this->foreignKeys[] = new Garp_Spawn_MySql_ForeignKey($line); } elseif (Garp_Spawn_MySql_UniqueKey::isUniqueKeyStatement($line)) { $this->uniqueKeys[] = new Garp_Spawn_MySql_UniqueKey($line); } elseif (Garp_Spawn_MySql_PrimaryKey::isPrimaryKeyStatement($line)) { $this->primaryKey = new Garp_Spawn_MySql_PrimaryKey($line); } } // now retrieve index keys, excluding foreign keys foreach ($createStatementLines as $line) { if (Garp_Spawn_MySql_IndexKey::isIndexKeyStatement($line, $this->foreignKeys)) { $this->indices[] = new Garp_Spawn_MySql_IndexKey($line); } } }