2017 © Pedro Peláez
 

library simple_orm

DB Wrapper for build simple orm in laravel

image

ametsuramet/simple_orm

DB Wrapper for build simple orm in laravel

  • Thursday, August 10, 2017
  • by ametsuramet
  • Repository
  • 1 Watchers
  • 0 Stars
  • 20 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 14 Versions
  • 0 % Grown

The README.md

Simple ORM for LARAVEL

Laravel Package alternative for Eloquent ORM., (*1)

Installation

Begin by pulling in the package through Composer., (*2)

composer require ametsuramet/simple_orm:1.2.*

Or add in the require key of composer.json file manually, (*3)

``` json "ametsuramet/simple_orm": "1.2.*", (*4)




Register the ServiceProvider in `config/app.php` ```php 'providers' => [ // ... Amet\SimpleORM\ModelBuilderServiceProvider::class, ],

For Lumen

Add this service provider to your bootstrap/app.php file., (*5)

$app->register(Amet\SimpleORM\ModelBuilderServiceProvider::class);

Defining Models

The easiest way to create a model instance is using the simple_orm:model Artisan command:, (*6)

php artisan simple_orm:model Project

or you can use interactive mode:, (*7)

php artisan simple_orm:interactive

Command Options

php artisan simple_orm:model Project --soft_delete=1 --methods=transactions,users --default_key=uuid --migration=1

All models will placed in app/ORM folder., (*8)

Usage

in your controller file:, (*9)

// ...

use App\ORM\Project;

class yourController extends Controller {

    public function yourMethod()
    {
        $projects = new Project;
        $projects = $projects->get();

        dd($projects);
    }
// ...

or something like this:, (*10)

// ...
        $projects = (new Project)->get();
        dd($projects);
// ...

Table Names

By Default SimpleORM will generate $table attribut, but you can change name of table in Models, (*11)

...
class Project extends BaseQuery
{
    protected $table = 'projects';
...

Default Keys

SimpleORM will also assume that each table has a primary key column named id. You may define a $default_key property to override., (*12)

...
class Project extends BaseQuery
{
    protected $default_key = 'uuid';
...

Public Method

where((array) $params)

// ...
        $projects = new Project;
        $projects = $projects->where(['id',1])->get();
        dd($projects);
// ...

or, (*13)

// ...
        $wheres = [
            ['id','>=',10], 
            ['date','>=','2017-01-01'], 
        ];
        $projects = new Project;
        $projects = $projects->where($wheres)->get();
        dd($projects);
// ...

limit((int) $params, (int) $params)

// ...
        $projects = new Project;
        $projects = $projects->limit(10)->get();
        dd($projects);
// ...

you can add offset :, (*14)

// ...
        $projects = new Project;
        $projects = $projects->limit(20,10)->get();
        dd($projects);
// ...

deleted_only()

Show deleted only, (*15)

// ...
        $projects = new Project;
        $projects = $projects->deleted_only()->get();
        dd($projects);
// ...

deleted((boolean) $params)

As noted above, soft deleted models will automatically be excluded from query results, you can use this method to include deleted records, (*16)

// ...
        $projects = new Project;
        $projects = $projects->deleted(true)->get();
        dd($projects);
// ...

info()

// ...
        $projects = new Project;
        $projects = $projects->info();
        dd($projects);
// ...

orderBy((string) $params, (string) $params)

// ...
        $projects = new Project;
        $projects = $projects->orderBy('id')->get();
        dd($projects);
// ...

or, (*17)

// ...
        $projects = new Project;
        $projects = $projects->orderBy('id','desc')->get();
        dd($projects);
// ...

groupBy()

// ...
        $projects = new Project;
        $projects = $projects->groupBy('id')->get();
        dd($projects);
// ...

or, (*18)

// ...
        $projects = new Project;
        $projects = $projects->groupBy(['id','date'])->get();
        dd($projects);
// ...

insert((array) $params)

// ...
        $projects = new Project;
        $projects = $projects->insert(["name" => 'new project']);
        dd($projects);
// ...

update($id,(array) $params)

// ...
        $projects = new Project;
        $projects = $projects->update(29,["name" => 'new project']);
        dd($projects);
// ...

delete($id)

// ...
        $projects = new Project;
        $projects = $projects->delete(29);
// ...

get()

// ...
        $projects = new Project;
        $projects = $projects->get();
        dd($projects);
// ...

first()

// ...
        $projects = new Project;
        $projects = $projects->first();
        dd($projects);
// ...

find($id)

// ...
        $projects = new Project;
        $projects = $projects->find(29);
        dd($projects);
// ...

last()

// ...
        $projects = new Project;
        $projects = $projects->last();
        dd($projects);
// ...

paginate((int) $params)

// ...
        $projects = new Project;
        $projects = $projects->paginate($params);
        dd($projects);
// ...

set_show_column((array) $params)

// ...
        $projects = new Project;
        $projects = $projects->set_show_column(['id','first_name','last_name'])->get();
        dd($projects);
// ...

hide_relation()

// ...
        $projects = new Project;
        $projects = $projects->hide_relation()->get();
        dd($projects);
// ...

count()

// ...
        $projects = new Project;
        $projects = $projects->count();
        dd($projects);
// ...

getQueryLog()

// ...
        $projects = new Project;
        $projects = $projects->getQueryLog();
        dd($projects);
// ...

Relation

hasOne($relation_table,$relation_key,$table_key,$relation_name,$show_column(optional))

...
class Project extends BaseQuery
{
    public function user()
    {
        $this->hasOne(User:class,'id','user_id','user');
    }
...

with show_column, (*19)

...
class Project extends BaseQuery
{
    public function user()
    {
        $this->hasOne(User:class,'id','user_id','user',['id','first_name','last_name']);
    }
...

hasMany($relation_table,$relation_key,$table_key,$relation_name,$show_column(optional))

...
class Project extends BaseQuery
{
    public function user()
    {
        $this->hasOne(User:class,'id','user_id','user');
    }
...

with show_column, (*20)

...
class Project extends BaseQuery
{
    public function user()
    {
        $this->hasOne(User:class,'id','user_id','user',['id','first_name','last_name']);
    }
...

manyToMany($relation_table,$relation_key,$table_key,$relation_name,$pivot_table,$show_column(optional))

...
class Project extends BaseQuery
{
    public function user()
    {
        $pivot_table = [UserProject::class,'user_id','company_id'];
        $this->manyToMany(User:class,'id','user_id','user',$pivot_table);
    }
...

with show_column, (*21)

...
class Project extends BaseQuery
{
    public function user()
    {
        $pivot_table = [UserProject::class,'user_id','company_id'];
        $this->manyToMany(User:class,'id','user_id','user',$pivot_table,['id','first_name','last_name']);
    }
...

The Versions

10/08 2017

dev-master

9999999-dev

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

10/08 2017

v1.2.6

1.2.6.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

08/08 2017

v1.2.5

1.2.5.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

08/08 2017

v1.2.4

1.2.4.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

08/08 2017

v1.2.3

1.2.3.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

07/08 2017

v1.2.2

1.2.2.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

07/08 2017

v1.2.1

1.2.1.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

07/08 2017

v1.2.0

1.2.0.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

04/08 2017

v1.0.4

1.0.4.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

04/08 2017

v1.0.3

1.0.3.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

04/08 2017

v1.0.2

1.0.2.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

04/08 2017

v1.0.1

1.0.1.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

04/08 2017

v1.0

1.0.0.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet

03/08 2017

0.1

0.1.0.0

DB Wrapper for build simple orm in laravel

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by amet suramet