public function whereExists(Closure $callback, $not = false, $type = null)
{
$query = $this->newQuery();
call_user_func($callback, $query);
$exists = $query->getSQL();
$not = $not ? 'NOT ' : '';
return $this->addWhere("{$not}EXISTS ({$exists})", $query->params(), $type);
}