Download the PHP package laravie/eloquent-dynamodb without Composer

On this page you can find all versions of the php package laravie/eloquent-dynamodb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package eloquent-dynamodb

Eloquent syntax for DynamoDB

Latest Stable Version Total Downloads Latest Unstable Version tests License

Supports all key types - primary hash key and composite keys.

For advanced users only. If you're not familiar with Laravel, Laravel Eloquent and DynamoDB, then I suggest that you get familiar with those first.

Installation

To install through composer, run the following command from terminal:

composer require "laravie/eloquent-dynamodb"

Laravel setup

Only if you disable package discovery, please add the following service provider to config/app.php under providers:

Next you may want to publish the configuration file using the following command:

php artisan vendor:publish --provider="Laravie\DynamoDb\DynamoDbServiceProvider"

You can then update DynamoDb config in config/dynamodb.php or configurate the value using .env.

Lumen setup

You can either copy the configuration file manually or use laravelista/lumen-vendor-publish to install the vendor:publish command.

Next, load configuration file and enable Eloquent support in bootstrap/app.php:

You can then update DynamoDb config in config/dynamodb.php or configurate the value using .env.

Usages

Supported features:

find() and delete()

Conditions

whereNull() and whereNotNull()

NULL and NOT_NULL only check for the attribute presence not its value being null
See: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html

all() and first()

Pagination

Unfortunately, offset of how many records to skip does not make sense for DynamoDb. Instead, provide the last result of the previous query as the starting point for the next query.

Examples:

For query such as:

Take the last item of this query result as the next "offset":

update()

updateAsync()

save()

saveAsync()

Saving single model asynchronously and waiting on the promise for completion.

Saving multiple models asynchronously and waiting on all of them simultaneously.

delete()

deleteAsync()

chunk()

limit() and take()

firstOrFail()

findOrFail()

refresh()

Query Scope

REMOVE — Deleting Attributes From An Item

See: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.REMOVE

toSql() Style

For debugging purposes, you can choose to convert to the actual DynamoDb query

where $raw is an instance of RawDynamoDbQuery

Decorate Query

Use decorate when you want to enhance the query. For example:

To set the order of the sort key:

To force to use "Query" instead of "Scan" if the library fails to detect the correct operation:

Indexes

If your table has indexes, make sure to declare them in your model class like so

Note that order of index matters when a key exists in multiple indexes.
For example, we have this

with

will use count_index.

will use user_index.

Most of the time, you should not have to do anything but if you need to use a specific index, you can specify it like so

Composite Keys

To use composite keys with your model:

Query Builder

Use DynamoDb facade to build raw queries

The query builder methods are in the form of set<key_name>, where <key_name> is the key name of the query body to be sent.

For example, to build an UpdateTable query:

Do:

And when ready:

FAQ

Q: Cannot assign id property if its not in the fillable array
A: Try this?

Q: How to create migration?
A: Please see this issue

Q: How to use with factory?
A: Please see this issue

Q: How do I use with Job? Getting a SerializesModels error
A: You can either write your own restoreModel or remove the SerializesModels trait from your Job.

Author and Contributors


All versions of eloquent-dynamodb with dependencies

PHP Build Version
Package Version
Requires php Version >=7.2
aws/aws-sdk-php Version ^3.37
illuminate/database Version ^5.8 || ^6.0 || ^7.0
illuminate/support Version ^5.8 || ^6.0 || ^7.0
guzzlehttp/guzzle Version ^6.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package laravie/eloquent-dynamodb contains the following files

Loading the files please wait ....