Comments (6)
Thank you @zoe-edwards for enlightening me. This facade implementation will do for me 👍.
from laravel-dynamodb.
The way DynamoDB works is that you can only update one item at a time, so an update all isn’t really possible. Hence this package does not support that type of query.
from laravel-dynamodb.
Hi, I'm using a composite key, can you give me an example of how to update data using the model? I am asking this because I fail to update the data following the documentation.
from laravel-dynamodb.
Did you follow the instructions for Composite Keys?
You need
protected $primaryKey = 'customer_id';
protected $compositeKey = ['customer_id', 'agent_id'];
in your model, then you can use it like so:
$model->find(['customer_id' => 'value1', 'agent_id' => 'value2']);
from laravel-dynamodb.
Yes, I did follow the instruction and this implementation $model->find(['customer_id' => 'value1', 'agent_id' => 'value2'])->update($attributes);
works perfectly fine now. But this update is done by performing two operations, right?
- Scan operation to find the data
- UpdateItem operation to update the data
Please, correct me if I'm wrong.
from laravel-dynamodb.
Yeah the nature of Laravel and Eloquent is that it’ll fetch anything that you find.
If you’re using the $compositeKey
correctly, that will perform a Query, not a Scan.
If you want, you can directly use the DynamoDb
facade – but it’s not something that fits in with the Eloquent way of working.
use BaoPham\DynamoDb\Facades\DynamoDb;
$key // string
$attribute // string
$value
DynamoDb::table('YourTable')
->setKey(DynamoDb::marshalItem(['id' => $key]))
->setUpdateExpression('SET #a = :v')
->setExpressionAttributeName('#a', $attribute)
->setExpressionAttributeValue(':v', DynamoDb::marshalValue($value))
->setReturnValues('ALL_NEW')
->prepare(DynamoDb::client('aws_connection'))
->updateItem();
And that will write without a read.
from laravel-dynamodb.
Related Issues (20)
- How to connect DynamoDB via VPC endpoint HOT 1
- Combination of wherIn() and update() not working HOT 2
- I can't sort the items on a query HOT 3
- Could you fix this code? (PHP5.6 FatalError Analyzer.php ) HOT 1
- Issue using Nested attributes HOT 1
- Could I use AssumeRole with baopham dynamodb? HOT 2
- Force KeyCondition when filtering by only partition key in a table with a composite key HOT 1
- Add DAX Client HOT 1
- Pagination HOT 3
- DynamoDbModel constructor is not calling the `initializeTraits()` method like the parent HOT 1
- dynamodb.php not recognized HOT 1
- How to use 'Sort descending'
- How to query List\Map Key-Value field HOT 2
- Invalid Query or Scan syntax with "single-table design" indexes HOT 1
- How can we use API resources?
- Expecting RequestInterface, given RulesetEndpoint HOT 6
- Cannot access property/attribute of returned record HOT 2
- get() with a non-existent value as the primary key using where returns a collection with null instead of an empty collection
- Laravel 11 support HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-dynamodb.