PHP code example of filipac / searchable
1. Go to this page and download the library: Download filipac/searchable library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
filipac / searchable example snippets
use Filipac\Searchable\SearchableTrait;
class User extends \Eloquent
{
use SearchableTrait;
/**
* Searchable rules.
*
* @var array
*/
protected $searchable = [
['column' => 'first_name', 'relevance' => 10],
['column' => 'last_name', 'relevance' => 10],
['column' => 'bio', 'relevance' => 2],
['column' => 'email', 'relevance' => 5],
];
}
// Simple search
$users = User::search($query)->get();
// Search and get relations
$users = User::search($query)
->with('photos')
->get();
// This class is chable\DBHelper;
// Get the current page values
$page = Input::get('page') ? Input::get('page') : 1;
$count = Input::get('count') ? Input::get('count') : 20; // items per page
$from = 1 + $count * ($page - 1);
// Perform the search
$data = User::search($query)
->take($count)
->skip($from - 1)
->get()
->toArray();
// Get the count of rows of the last query
$db_query_log = DB::getQueryLog();
$db_query = end($db_query_log);
$total_items = DBHelper::getQueryCount($db_query);
// Create the paginator
$users = Paginator::make($data, $total_items, $count);
protected $joinable = [
'profiles' => ['users.profile_id','profiles.id']
];
/**
* Searchable rules.
*
* @var array
*/
protected $searchable = [
['column' => 'name', 'relevance' => 10],
['column' => 'profiles.name', 'relevance' => 1],
['column' => 'profiles.description', 'relevance' => 2],
];