decorate / searchable
search support
Installs: 38
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/decorate/searchable
README
This is a Laravel search support package like a validator
Installation
With composer:
composer require decorate/searchable
Command Examples
[
'name' => '>=',
'name2' => ['>='],
'name3' => ['name' => '='],
'name4' => 'like:name',
'name5' => 'like_forward:name',
'name6' => 'like_backward:name',
'name7' => function(Builder $q, $value) {
$q->whereNotNull($value);
},
'name8' => ['name' => function(Builder $q, $value) {
$q->where('id', $value);
}],
'title' => 'like:detail.title',
'title2' => ['detail.title' => '='],
'title3' => ['detail.title' => function(Builder $q, $value) {
$q->where('age', '>=', $value);
}],
'title4' => 'like:detail.',
'startDate' => 'between:begin_time',
'endDate' => 'between_end:begin_time',
'level' => 'in:level_id',
'level2' => 'in:detail.level_id'
];
Usage
class User extends Model {
use Searchable;
public function getSearches(){
return [
'name' => 'like',
'detail_name' => 'like:detail.name'
];
}
}
class UsersController extends Controller {
public function index(Request $request) {
return User::search($request);
}
}
injection search
protected function injectSearch(Builder $builder, Request $request){
$builder->where('id', '=', $request->query('id'));
}