beaumind/searchable

a simple php trait for laravel to search in models and related models
20 3
Install
composer require beaumind/searchable
Latest Version:1.0.1
PHP:>=5.4
Laravel:5
License:MIT
Last Updated:Jan 4, 2017
Links: GitHub  ·  Packagist
Maintainer: beaumind

searchable

a simple php trait for laravel >= 5.0 to search in models and related models

Installation

Simply Run the Composer require comand.

composer require beaumind/searchable

Usage

Add the trait to your model and your search rules.

use Beaumind\Searchable\Searchable;

class Post extends \Eloquent
{
    use Searchable;

    /**
     * Searchable columns.
     *
     * @var array
     */
    public $searchable_fields = [
      title,
      body,
      user.name,
      uesr.email
    ];


    public function user()
    {
        return $this->belongsTo('User');
    }

}

Now you can search your model.

// Simple search
$posts = Post::search($query)->get();

// Search and get relations
// It will not get the relations if you don't do this
$posts = Post::search($query)
            ->with('user')
            ->get();

Search Paginated

As easy as laravel default queries

// Search with relations and paginate
$posts = Post::search($query)
            ->with('user')
            ->paginate(20);

Mix queries

Search method is compatible with any eloquent method. You can do things like this:

// Search only active posts
$posts = Post::where('status', 'active')
            ->search($query)
            ->paginate(20);

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

641,106,524 9,700
laravel/framework

The Laravel Framework.

593,882,149 34,959
laravel/tinker

Powerful REPL for the Laravel framework.

502,645,077 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

418,291,778 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

394,964,158 4,660

Version History

Version Released PHP Laravel License
1.0.1 >=5.4 ^5.0 MIT
1.0.0 >=5.4 5.0 MIT