brunoquaresma/laravel-dbsearch

此包最新版本(dev-master)没有提供许可证信息。

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

This package is not auto-updated.

Last update: 2024-09-24 06:16:28 UTC


README

一个简单的包,用于通过 Laravel 的 Eloquent 进行全文搜索。

  1. 所需设置
  2. 基本用法
  3. 使用 join

所需设置

composer.json 文件的 require 键中添加以下内容

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

运行 Composer update 命令

$ composer update

在您的 config/app.php 文件中,将 'Brunoquaresma\LaravelDBSearch\LaravelDBSearchServiceProvider' 添加到 $providers 数组的末尾

'providers' => array(

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

),

config/app.php 文件的末尾添加 'LaravelDBSearch' => 'Brunoquaresma\LaravelDBSearch\Facades\LaravelDBSearch'$aliases 数组

'aliases' => array(

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

),

###基本用法

在这个例子中,我们使用一个课程模型。

$courses =  LaravelDBSearch::model('Course')			
				->field(array('name', 'description'))
				->query('php')
				->get();
  1. model() - 设置搜索的默认模型。
  2. field() - 通过数组或单个字段字符串值设置搜索字段。
  3. query() - 设置搜索查询值。
  4. get() - 获取搜索结果。

###使用 join

获取所有所有者名字为 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();