ibnudirsan/full-text

全文搜索MySQL使用MATCH() AGAINST()语法。

dev-main 2022-10-04 14:10 UTC

This package is auto-updated.

Last update: 2024-09-04 18:23:24 UTC


README

全文搜索使用MATCH() AGAINST()语法执行。MATCH()接受一个以逗号分隔的列名列表,用于指定要搜索的列。AGAINST接受一个要搜索的字符串和一个可选的修饰符,表示要执行何种类型的搜索。搜索字符串必须是一个在查询评估期间保持不变的字符串值。

<?php

namespace App\Model\articlesBlog;

use Ibnudirsan\FullText\App\Helper\Searchable;

/*
|--------------------------------------------------------------------------
| Rumah Dev
| Backend Developer : ibudirsan
| Email             : ibnudirsan@gmail.com
| Copyright © RumahDev 2022
|--------------------------------------------------------------------------
*/

class articlesBlog extends Model
{
   /**
    * Add Searchable at Model
    */
    use Searchable;

   /**
    * Add property $searchable
    */
    protected $searchable = [
        'articleContent'
    ];
}
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Ibnudirsan\FullText\App\Helper\Searchable;

/*
|--------------------------------------------------------------------------
| Rumah Dev
| Backend Developer : ibudirsan
| Email             : ibnudirsan@gmail.com
| Copyright © RumahDev 2022
|--------------------------------------------------------------------------
*/

class PostBlogsController extends Controller
{
    use Searchable;
    
    public function search($search) {
        $result = articlesBlog::select('id', 'TitleArticle', 'slugArticle', 'Excerpt', 'articleContent')
                                ->search($search)
                                ->get();            
        return $result;
    }
}