The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Gideon::Manual::Updating - Updating objects

VERSION

version 0.0.3

DESCRIPTION

Gideon can update a single object or a group objects depending on how it is invoked, please make sure you read and understand the documentation as missues of this method can cause data corruption

update( %changes ) as a Class method

When update is invoked for a Gideon class it updates all records in a data store with %changes.

    # Update all objects in the data store
    People->update( status => 'active' );

update( %changes ) as an Instance method

When update is invoked for a Gideon class instance it updates that particular record and not the rest of the records

    # Update one object
    People->find_one( id => 1 )->update( id => 2 );

Updating object with save

Additionally you can use the save method to update a particular object.

    my $person = People->find_one( id => 1 );
    
    # Update only the name
    $person->update( name => 'John Doe' );
    # Query: UPDATE ... SET name = 'John Doe' WHERE id = 1

    # Update names
    $person->name('John Doe');
    $person->save;
    # Query: UPDATE ... SET id = 1, name = 'John Doe', ... WHERE id = 1

The difference between save and update is that update gives you a fine grained control on which fields to update. save sends the entire record as a whole to the data store.

NAME

Updating objects with Gideon

VERSION

version 0.0.3

AUTHOR

Mariano Wahlmann, Gines Razanov

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Mariano Wahlmann, Gines Razanov.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.