public static function getRecordByField($field, $value, $cacheIndex = false) { $query = 'SELECT * FROM `%s` WHERE `%s` = "%s" LIMIT 1'; $params = array(static::$tableName, static::_cn($field), DB::escape($value)); if ($cacheIndex) { $key = sprintf('%s/%s:%s', static::$tableName, $field, $value); return DB::oneRecordCached($key, $query, $params, array(static::$rootClass, 'handleError')); } else { return DB::oneRecord($query, $params, array(static::$rootClass, 'handleError')); } }