/** * * * @param $data * @return unknown */ function exists($data) { $data['type'] = $data['type'] ? $data['type'] : ''; $data['cat_id'] = $data['cat_id'] ? $data['cat_id'] : ''; return $this->cats->exists($data['type'], $data['cat_name'], $data['cat_id']); }
/** * * * @param unknown $model */ function air2_model_prevalidate(&$model) { $table = $model->getTable(); $col_defs = $table->getColumns(); $now = air2_date(); foreach ($col_defs as $col => $def) { if (preg_match('/_uuid$/', $col) && isset($def['unique']) && $def['unique']) { if (!isset($model->{$col}) || !strlen($model->{$col})) { $model->{$col} = air2_generate_uuid(12); } } elseif (preg_match('/_cre_dtim$/', $col)) { if (!$model->exists() && !strlen($model->{$col})) { $model->{$col} = $now; } } elseif (preg_match('/_upd_dtim$/', $col)) { $model->{$col} = $now; } elseif (preg_match('/_cre_user$/', $col)) { if (!$model->exists() && !strlen($model->{$col})) { if (defined('AIR2_REMOTE_USER_ID')) { $model->{$col} = AIR2_REMOTE_USER_ID; } else { $model->{$col} = 1; //sysuser -- TODO: check for shell users } } } elseif (preg_match('/_upd_user$/', $col)) { if (defined('AIR2_REMOTE_USER_ID')) { $model->{$col} = AIR2_REMOTE_USER_ID; } else { $model->{$col} = 1; //sysuser -- TODO: check for shell users } } elseif ($def['type'] === 'timestamp') { // validate the string for non cre/upd timestamps if (isset($model->{$col}) && !is_null($model->{$col})) { //NOTE: whenever you set a column in Doctrine, it checks that //the value has changed. Since '2010-01-01 01:01:01' is equal //to '2010-01-01T01:01:01', we need to NULL it first if (strpos($model->{$col}, 'T') !== false) { $airformat = air2_date(strtotime($model->{$col})); $model->{$col} = null; $model->{$col} = $airformat; } } } elseif ($def['type'] === 'date') { // validate the string for non cre/upd timestamps if (isset($model->{$col}) && !is_null($model->{$col})) { //NOTE: whenever you set a column in Doctrine, it checks that //the value has changed. Since '2010-01-01 01:01:01' is equal //to '2010-01-01T01:01:01', we need to NULL it first if (strpos($model->{$col}, 'T') !== false) { $airformat = air2_date(strtotime($model->{$col})); $model->{$col} = null; $model->{$col} = $airformat; } } } // default values if (strlen($table->getDefaultValueOf($col)) && !strlen($model->{$col})) { $model->{$col} = $table->getDefaultValueOf($col); } // lastly, check strings for valid UTF8 chars if ($def['type'] === 'string' && !Encoding::is_utf8($model->{$col})) { $modelname = get_class($model); throw new Doctrine_Exception("non-UTF8 string found in {$modelname}->{$col}: " . $model->{$col}); } } }
/** * 检查给定的Key是否存在 * @param string $key */ public function existsMain($key = '') { return $this->cacheWrite->exists($key); }