protected function duplicatesExistForColumn($column)
{
$connection = $this->node->getConnection();
$grammar = $connection->getQueryGrammar();
$columns = array_merge($this->node->getQualifiedScopedColumns(), [$column]);
$columnsForSelect = implode(', ', array_map(function ($col) use($grammar) {
return $grammar->wrap($col);
}, $columns));
$wrappedColumn = $grammar->wrap($column);
$query = $this->node->newQuery()->select($connection->raw("{$columnsForSelect}, COUNT({$wrappedColumn})"))->havingRaw("COUNT({$wrappedColumn}) > 1");
foreach ($columns as $col) {
$query->groupBy($col);
}
$result = $query->first();
return !is_null($result);
}