2017 © Pedro Peláez
 

library smoothness

Your package description here.

image

sukohi/smoothness

Your package description here.

  • Thursday, July 14, 2016
  • by Sukohi
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2,248 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 25 Versions
  • 13 % Grown

The README.md

Smoothness

A Laravel package to manage WHERE clause.
(This is for Laravel 5+. For Laravel 4.2), (*1)

Demo, (*2)

Installation

Execute composer command., (*3)

composer require sukohi/smoothness:4.*

Preparation

At first, set SmoothnessTrait in your Model., (*4)

use Sukohi\Smoothness\SmoothnessTrait;

class Item extends Eloquent {

    use SmoothnessTrait;

}

Secondary, add configuration values also in your Model., (*5)

columns: keys and column names you want to use. (Required)
labels: Labels and keys you want to use. (Optional)
condition: Condition type which are and & or (Optional, Default: auto), (*6)

protected $smoothness = [
    'columns' => [
        'search_id' => 'id',
        'search_title' => 'title',
        'search_date' => 'created_at'
    ],
    'labels' => [
        'search_id' => 'ID',
        'search_title' => 'Item Title',
        'search_date' => 'Date'
    ],
    'condition' => 'and'
];

Note: If you set auto in condition, you can change condition value through URL params like this., (*7)

Query Scope: You also can utilize Query Scopes instead of column name., (*8)

'columns' => [
    'scope_title' => 'scope::filterTitle'
],

in this case, you need to prepare a scope method in your model. (About Query Scopes), (*9)

public function scopeFilterTitle($query, $value) {

    return $query->where('title', $value);

}

Label You can use label:: prefix to call a specific method., (*10)

'labels' => [
    'title' => 'label::filterTitle'
],

in this case, you need to prepare a method in your model., (*11)

public function labelFilterTitle() {

    return 'Your Title'.

}

(You may use this tip for switching locale and so on.), (*12)

Usage

Now you can use a method called smoothness., (*13)

(in Controller), (*14)

$items = Item::smoothness()->get();

After call smoothness(), you can access to sort data through $smoothness., (*15)

(in View), (*16)

condition: Current condition. and & or., (*17)

Condition: {{ $smoothness->condition }}

values: Submitted data., (*18)

@foreach($smoothness->values as $key => $value)
    <input type="text" name="{{ $key }}" value="{{ $value }}">
@endforeach

or

$smoothness->values->get('KEY_NAME');

has_values: Submitted data that has value., (*19)

@foreach($smoothness->has_values as $column => $value)
    {{ $column }} => {{ $value }}
@endforeach

or

$smoothness->has_values->get('KEY_NAME');

labels: Array values of columns that has value., (*20)

@foreach($smoothness->labels as $key => $label)
    {{ $label }}
@endforeach

conditions: Array values of columns that has value., (*21)

@foreach($smoothness->conditions as $key => $boolean)
    <input type="radio" name="condition" value="{{ $key }}"{{ ($boolean) ? ' checked' : '' }}>{{ ($key == 'and') ? 'And' : 'Or' }}
@endforeach

appends: Array values for pagination, (*22)

{{ $items->appends($smoothness->appends)->links() }}

Change condition

The 1st argument is for setting condition type., (*23)

Item::smoothness('or')->get();

Relationship

You can use this package with relationship using join()., (*24)

(in Controller), (*25)

$items = Item::join('item_details', 'item_details.item_id', '=', 'items.id')
            ->smoothness()
            ->paginate(5);

(in Model), (*26)

protected $smoothness = [
    'columns' => [
        'items.id' => 'ID',
        'items.title' => 'Title',
        'items.created_at' => 'Date',
        'item_details.address' => 'Address'
    ]
];

License

This package is licensed under the MIT License., (*27)

Copyright 2016 Sukohi Kuhoh, (*28)

The Versions

14/07 2016

4.0.x-dev

4.0.9999999.9999999-dev

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

14/07 2016

dev-master

9999999-dev

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

14/07 2016

4.0.6

4.0.6.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

25/05 2016

4.0.5

4.0.5.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

25/05 2016

3.0.x-dev

3.0.9999999.9999999-dev

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

25/05 2016

3.0.8

3.0.8.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

25/05 2016

3.0.7

3.0.7.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

4.0.4

4.0.4.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.6

3.0.6.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

4.0.3

4.0.3.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.5

3.0.5.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

4.0.2

4.0.2.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.4

3.0.4.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.3

3.0.3.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

4.0.1

4.0.1.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.2

3.0.2.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

18/04 2016

3.0.1

3.0.1.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

17/04 2016

4.0.0

4.0.0.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

17/04 2016

3.0.0

3.0.0.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

16/04 2016

1.0.x-dev

1.0.9999999.9999999-dev

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

16/04 2016

1.0.1

1.0.1.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi

16/04 2016

2.0.x-dev

2.0.9999999.9999999-dev

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

16/04 2016

2.0.1

2.0.1.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

16/04 2016

2.0.0

2.0.0.0

Your package description here.

  Sources   Download

The Requires

 

by Avatar Sukohi

16/04 2016

1.0.0

1.0.0.0

A Laravel package to manage WHERE clause.

  Sources   Download

MIT

The Requires

 

by Avatar Sukohi