public function generateNewID($m, $table = null)
    {
        if (!isset($table)) {
            $table = $m->table;
        }

        $ids = array_keys($this->data[$table]);

        $type = $m->getField($m->id_field)->type;

        switch ($type) {
            case 'integer':
                return count($ids) === 0 ? 1 : (max($ids) + 1);
            case 'string':
                return uniqid();
            default:
                throw new Exception([
                    'Unsupported id field type. Array supports type=integer or type=string only',
                    'type' => $type,
                ]);
        }
    }
public function generateNewID($m, $table = null)
    {
        if (!isset($table)) {
            $table = $m->table;
        }

        $ids = array_keys($this->data[$table]);

        $type = $m->getField($m->id_field)->type;

        switch ($type) {
            case 'integer':
                return count($ids) === 0 ? 1 : (max($ids) + 1);
            case 'string':
                return uniqid();
            default:
                throw new Exception([
                    'Unsupported id field type. Array supports type=integer or type=string only',
                    'type' => $type,
                ]);
        }
    }
public function generateNewID ( $ m , $ table = null ) { if ( ! isset ( $ table ) ) { $ table = $ m -> table ; } $ ids = array_keys ( $ this -> data [ $ table ] ) ; $ type = $ m -> getField ( $ m -> id_field ) -> type ; switch ( $ type ) { case 'integer' : return count ( $ ids ) === 0 ? 1 : ( max ( $ ids ) + 1 ) ; case 'string' : return uniqid ( ) ; default : throw new Exception ( [ 'Unsupported id field type. Array supports type=integer or type=string only' , 'type' => $ type , ] ) ; } }
Generates new record ID.

@param Model  $m
@param string $table

@return string
Generates new record ID .