本文整理汇总了PHP中Index::hasColumnAtPosition方法的典型用法代码示例。如果您正苦于以下问题:PHP Index::hasColumnAtPosition方法的具体用法?PHP Index::hasColumnAtPosition怎么用?PHP Index::hasColumnAtPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Index
的用法示例。
在下文中一共展示了Index::hasColumnAtPosition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: computeDiff
/**
* Compute the difference between two index objects
*
* @param Index $fromIndex
* @param Index $toIndex
* @param boolean $caseInsensitive Whether the comparison is case insensitive.
* False by default.
*
* @return boolean false if the two indices are similar, true if they have differences
*/
public static function computeDiff(Index $fromIndex, Index $toIndex, $caseInsensitive = false)
{
// Check for removed index columns in $toIndex
$fromIndexColumns = $fromIndex->getColumns();
for ($i = 0; $i < count($fromIndexColumns); $i++) {
$indexColumn = $fromIndexColumns[$i];
if (!$toIndex->hasColumnAtPosition($i, $indexColumn, null, $caseInsensitive)) {
return true;
}
}
// Check for new index columns in $toIndex
$toIndexColumns = $toIndex->getColumns();
for ($i = 0; $i < count($toIndexColumns); $i++) {
$indexColumn = $toIndexColumns[$i];
if (!$fromIndex->hasColumnAtPosition($i, $indexColumn, null, $caseInsensitive)) {
return true;
}
}
// Check for difference in unicity
if ($fromIndex->isUnique() != $toIndex->isUnique()) {
return true;
}
return false;
}
示例2: diffIndex
/**
* Finds the difference between the indexes $index1 and $index2.
*
* Compares $index1 with $index2 and returns $index2 if there are any
* differences or false in case there are no differences.
*
* @param Index $index1
* @param Index $index2
* @return bool
*/
public function diffIndex(Index $index1, Index $index2)
{
if ($index1->isPrimary() != $index2->isPrimary()) {
return true;
}
if ($index1->isUnique() != $index2->isUnique()) {
return true;
}
// Check for removed index fields in $index2
$index1Columns = $index1->getColumns();
for ($i = 0; $i < count($index1Columns); $i++) {
$indexColumn = $index1Columns[$i];
if (!$index2->hasColumnAtPosition($indexColumn, $i)) {
return true;
}
}
// Check for new index fields in $index2
$index2Columns = $index2->getColumns();
for ($i = 0; $i < count($index2Columns); $i++) {
$indexColumn = $index2Columns[$i];
if (!$index1->hasColumnAtPosition($indexColumn, $i)) {
return true;
}
}
return false;
}