public static function exists($parameters = null, $cacheOptions = null)
{
$dependencyInjector = Di::getDefault();
$modelsManager = $dependencyInjector->getShared('modelsManager');
if (is_numeric($parameters)) {
$modelsMetadata = $dependencyInjector->getShared('modelsMetadata');
$primaryKeys = $modelsMetadata->getPrimaryKeyAttributes(get_called_class());
if (count($primaryKeys) !== 1) {
throw new ModelException('parameter is integer, but the primary key of `:model` model has more than one column', ['model' => get_called_class()]);
}
$parameters = [$primaryKeys[0] => $parameters];
} elseif (is_string($parameters)) {
$parameters = [$parameters];
}
$modelName = get_called_class();
/**
* @var $modelsManager \ManaPHP\Mvc\Model\Manager
*/
$builder = $modelsManager->createBuilder($parameters)->columns('1 as stub')->from($modelName)->limit(1);
$resultset = $builder->execute($cacheOptions);
return isset($resultset[0]);
}