/** * @return int */ public function addReference() { $change_column_num = 0; $table_name = $this->getTableName(); $reference_columns = $this->getDBReferenceColumn(); $results_foreignkey = $this->db->getTableForeignKey($table_name); foreach ($reference_columns as $column) { $key_name = $table_name . '_' . $column->getReference()->getName(); if (array_search($key_name, $results_foreignkey) !== null) { continue; } if ($this->db->addForeignKey($table_name, $key_name, $column->getName(), $column->getReference()->getTableName(), $column->getReference()->getColumn(), $column->getReference()->getDelete(), $column->getReference()->getUpdate())) { $change_column_num++; } } return $change_column_num; }