[eluser]Unknown[/eluser]
I wanted to use Amazon's DynamoDB in my codeigniter projects, but wanted something a little more simple to use and closer to what I was used to with active record. So I came up with this quick and easy to use library.
https://github.com/navecommunications/CI_DynamoDB
Creating a record.
Code:
$this->load->library('DynamoDB');
try {
// Attributes/Fields can be created on the fly.
$this->dynamodb->new_attribute('field_name', 'field-value');
$this->dynamodb->put('table_name');
} catch(Exception $e) {
echo $e->getMessage();
}
Retrieving records by key.
Code:
$this->load->library('DynamoDB');
try {
$this->dynamodb->key('key_name');
$this->dynamodb->get_attribute('field_name1');
$this->dynamodb->get_attribute('field_name2');
$query = $this->dynamodb->get('table_name');
$row = $query->row();
echo $row->field_name1;
echo $row->field_name2;
} catch(Exception $e) {
echo $e->getMessage();
}
Scanning a table
Code:
$this->load->library('DynamoDB');
try {
// Filters are case sensitive.
$this->dynamodb->filter('field_name', 'search_value');
$this->dynamodb->get_attribute('field_name1');
$this->dynamodb->get_attribute('field_name2');
$query = $this->dynamodb->scan('table_name');
foreach($query->result() as $row) {
echo $row->field_name1;
echo $row->field_name2;
}
} catch(Exception $e) {
echo $e->getMessage();
}
Updating an item.
Code:
$this->load->library('DynamoDB');
try {
$this->dynamodb->key('key_name');
$this->dynamodb->set('field_name', 'field-value');
$this->dynamodb->update('table_name');
} catch(Exception $e) {
echo $e->getMessage();
}
Deleting an item.
Code:
$this->load->library('DynamoDB');
try {
$this->dynamodb->key('key_name');
$this->dynamodb->delete('table_name');
} catch(Exception $e) {
echo $e->getMessage();
}