matteomeloni / eloquent-dynamodb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DynamoDb

Latest Stable Version Total Downloads Latest Unstable Version License

This is where your description should go. Take a look at contributing.md to see a to do list.

Installation

Via Composer

$ composer require matteomeloni/dynamodb

Usage

use MatteoMeloni\DynamoDb\Eloquent\Model;

class User extends Model 
{
    protected $table = 'user';
}

Retrive All Models

$users = App\User::all();

foreach ($users as $user) {
    echo $user->attribute;
}

// Adding Additional Constraints
$users = new User();
$users = $users->where('field', 'operator', 'value')->get();

Retrieving Single Models

$user = new App\User();

// Retrieve a model by its primary key
$user = $user->find($id);

// Not Found Exceptions
$user = $user->findOrFail($id);

// Retrieve the first model matching the query constraints...
$user = $user->where('field', 'operator', 'value')->first();

// Not Found Exceptions
$user = $user->where('field', 'operator', 'value')->firstOrFail();

Insert

$user = new Model;

$user->name = 'Mario';
$user->surname = 'Rossi';

$user->save();

Update

$user = new User;

$user = $user->find($id);

$user->name = 'Marco';

$user->save();

FirstOrCreate

// Retrieve User by email, or create it with the email and name attributes...
$user = User::firstOrCreate(
    ['email' => 'mariorossi@mail.com'], ['name' => 'Mario','surname' => 'Rossi']
);

Deleting

// Deleting An Existing Model By Key
$user = new App\User()
$user = $user->find($id)->delete();

// Deleting Models By Query
$users = new App\User()
$users = $user->where('disabled', '=', true)->get();
$users->delete();

Soft Deleting

To enable soft deletes for a model, use the Mmrp\Dynamodb\Traits\SoftDeletes trait on the model

use MatteoMeloni\DynamoDb\Eloquent\Model;
use MatteoMeloni\DynamoDb\Eloquent\Traits\SoftDeletes;

class User extends Model
{
    use SoftDeletes;
    
    protected $table = 'user';
}

Including Soft Deleted Models

$users = new App\User();
$users = $users->withTrashed()
    ->where('account_id', 1)
    ->get();

Retrieving Only Soft Deleted Models

$users = new App\User();
$users = $users->onlyTrashed()
    ->where('account_id', 1)
    ->get();

Restoring Soft Deleted Models

$users = new User();
$users = $users->onlyTrashed()
    ->where('id', '=', $id)
    ->get()->restore();

Permanently Deleting Models

$users = new User();
$users = $users->onlyTrashed()
    ->where('id', '=', $id)
    ->get()->forceDelete();

Change log

Please see the changelog for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

license. Please see the license file for more information.

About

License:Other


Languages

Language:PHP 100.0%