brunoquaresma/laravel-dbsearch

There is no license information available for the latest version (dev-master) of this package.

dev-master 2014-05-29 16:51 UTC

This package is not auto-updated.

Last update: 2024-11-19 07:05:07 UTC


README

A simple package for full text search using the Laravel's Eloquent.

  1. Required setup
  2. Basic usage
  3. Use join

Required setup

In the require key of composer.json file add the following

"brunoquaresma/laravel-dbsearch": "dev-master"

Run the Composer update comand

$ composer update

In your config/app.php add 'Brunoquaresma\LaravelDBSearch\LaravelDBSearchServiceProvider' to the end of the $providers array

'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'Brunoquaresma\LaravelDBSearch\LaravelDBSearchServiceProvider',

),

At the end of config/app.php add 'LaravelDBSearch' => 'Brunoquaresma\LaravelDBSearch\Facades\LaravelDBSearch' to the $aliases array

'aliases' => array(

    'App'        => 'Illuminate\Support\Facades\App',
    'Artisan'    => 'Illuminate\Support\Facades\Artisan',
    ...
    'LaravelDBSearch' => 'Brunoquaresma\LaravelDBSearch\Facades\LaravelDBSearch'

),

###Basic usage

For this example we use a course model.

$courses =  LaravelDBSearch::model('Course')			
				->field(array('name', 'description'))
				->query('php')
				->get();
  1. model() - Set the default model for the search.
  2. field() - Set the search fields by array or a string value if have only one field.
  3. query() - Set the search query value.
  4. get() - Get the results of search.

###Use join

Get the courses where the owner have a name with John.

$courses =  LaravelDBSearch::model('Course')			
				->field(array('name', 'description', 'first_name', 'last_name', 'username'))
				->join('courses.*', 'users', 'courses.user_id', '=', 'users.id')
				->query('John')
				->get();