bladeaweb/dynamodb-query-builder
Composer 安装命令:
composer require bladeaweb/dynamodb-query-builder
包简介
Amazon DynamoDb query builder.
README 文档
README
Amazon DynamoDb query builder.
$sdk = new \Aws\Sdk( [ 'region' => 'us-west-2', 'version' => 'latest', 'endpoint' => 'http://localhost:8000', 'credentials' => [ 'key' => 'x', 'secret' => 'y', ] ] ); $db = $sdk->createDynamoDb(); $qb = new \Lbstr\DynamoDb\QueryBuilder\QueryBuilder( new \Aws\DynamoDb\Marshaler() ); // batch write $tableName = 'FooBar'; $q = $qb->batchWriteItem() ->put($tableName, ['id' => 1, 'name' => 'foo']) ->put($tableName, ['id' => 2, 'name' => 'baz']) ->delete($tableName, ['id' => 15]) ->delete('AnotherTable', ['id' => 32]) ->put('AnotherTable', ['id' => 32, 'name' => 'bar']) ->getQuery(); $db->batchWriteItem($q); // scan $q = $qb->scan($tableName) ->eq('id', 256) ->orEq('id', 643) ->orContains('status', 'error') ->getQuery(); $q = $qb->scan($tableName) ->withAttributeNames(['#name' => 'name']) ->in('#name', ['foo', 'bat']) ->orIn('id', [256]) ->getQuery(); $q = $qb->scan($tableName) ->withAttributeNames( [ '#name' => 'name' ] ) ->beginsWith('#name', 'f') ->orBeginsWith('#name', 'l') ->getQuery(); $q = $qb->scan($tableName) ->withAttributeNames( [ '#name' => 'name' ] ) ->contains('#name', 'oo') ->orContains('#name', 'az') ->getQuery(); // sub-query example $qb = $qb->scan('MyTable') ->withAttributeNames(['#name' => 'name', '#status' => 'status']) ->eq('#status', 'error') ->subQuery( $qb->scan('MyTable') ->withAttributeNames(['#name' => 'name']) ->beginsWith('#name', 'ja') ->orBeginsWith('#name', 'fo'), 'and' ); /* Array ( [TableName] => FooBar [FilterExpression] => (#status = :571769ca57e29 and (begins_with(#name, :571769ca57eb9) or begins_with(#name, :571769ca57f26))) [ExpressionAttributeValues] => Array ( [:571769ca57e29] => Array ( [S] => error ) [:571769ca57eb9] => Array ( [S] => ja ) [:571769ca57f26] => Array ( [S] => fo ) ) [ExpressionAttributeNames] => Array ( [#name] => name [#status] => status ) )*/ $items = $this->db()->scan($qb->getQuery())['Items'];
统计信息
- 总下载量: 283
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2020-10-13