protected function primary($name, $type, array $options = [])
    {
        static::addColumn($name, $type, isset($options['map']) ? $options['map'] : $name);

        static::$metaDatasClass[static::class][MetaData::MODELS_PRIMARY_KEY][] = $name;
        static::$metaDatasClass[static::class][MetaData::MODELS_NOT_NULL][] = $name;

        if (
            (!isset($options['identity']) || $options['identity']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_IDENTITY_COLUMN] = $name;
        }
        if (
            (!isset($options['autoIncrement']) || $options['autoIncrement']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_AUTOMATIC_DEFAULT_INSERT][$name] = true;
        }
    }
protected function primary($name, $type, array $options = [])
    {
        static::addColumn($name, $type, isset($options['map']) ? $options['map'] : $name);

        static::$metaDatasClass[static::class][MetaData::MODELS_PRIMARY_KEY][] = $name;
        static::$metaDatasClass[static::class][MetaData::MODELS_NOT_NULL][] = $name;

        if (
            (!isset($options['identity']) || $options['identity']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_IDENTITY_COLUMN] = $name;
        }
        if (
            (!isset($options['autoIncrement']) || $options['autoIncrement']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_AUTOMATIC_DEFAULT_INSERT][$name] = true;
        }
    }
protected function primary ( $ name , $ type , array $ options = [ ] ) { static :: addColumn ( $ name , $ type , isset ( $ options [ 'map' ] ) ? $ options [ 'map' ] : $ name ) ; static :: $ metaDatasClass [ static :: class ] [ MetaData :: MODELS_PRIMARY_KEY ] [ ] = $ name ; static :: $ metaDatasClass [ static :: class ] [ MetaData :: MODELS_NOT_NULL ] [ ] = $ name ; if ( ( ! isset ( $ options [ 'identity' ] ) || $ options [ 'identity' ] ) && ( ! isset ( $ options [ 'multiple' ] ) || ! $ options [ 'multiple' ] ) ) { static :: $ metaDatasClass [ static :: class ] [ MetaData :: MODELS_IDENTITY_COLUMN ] = $ name ; } if ( ( ! isset ( $ options [ 'autoIncrement' ] ) || $ options [ 'autoIncrement' ] ) && ( ! isset ( $ options [ 'multiple' ] ) || ! $ options [ 'multiple' ] ) ) { static :: $ metaDatasClass [ static :: class ] [ MetaData :: MODELS_AUTOMATIC_DEFAULT_INSERT ] [ $ name ] = true ; } }
Define the primary column

@param string $name
@param int    $type
@param array  $options
Define the primary column