RemoveForeignKeysFromTable::getItem()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 2
nop 1
1
<?php namespace Xethron\MigrationsGenerator\Syntax;
2
3
/**
4
 * Class RemoveForeignKeysFromTable
5
 * @package Xethron\MigrationsGenerator\Syntax
6
 */
7
class RemoveForeignKeysFromTable extends Table {
8
9
	/**
10
	 * Return string for dropping a foreign key
11
	 *
12
	 * @param array $foreignKey
13
	 * @return string
14
	 */
15
	protected function getItem(array $foreignKey)
16
	{
17
		$name = empty($foreignKey['name']) ? $this->createIndexName($foreignKey['field']) : $foreignKey['name'];
18
		return sprintf("\$table->dropForeign('%s');", $name);
19
	}
20
21
	/**
22
	 * Create a default index name for the table.
23
	 *
24
	 * @param  string  $column
25
	 * @return string
26
	 */
27
	protected function createIndexName($column)
28
	{
29
		$index = strtolower($this->table.'_'.$column.'_foreign');
30
31
		return str_replace(array('-', '.'), '_', $index);
32
	}
33
}
34