Laravel 8 搜索

2021-07-26 09:59 更新

你可以使用 search 方法來搜索模型。search 方法接受一個(gè)用于搜索模型的字符串。你還需要在搜索查詢上鏈?zhǔn)秸{(diào)用 get 方法,才能用給定的搜索語(yǔ)句查詢與之匹配的 Eloquent 模型:

$orders = App\Models\Order::search('Star Trek')->get(); 

Scout 搜索返回 Eloquent 模型的集合,因此你可以直接從路由或控制器返回結(jié)果,它們會(huì)被自動(dòng)轉(zhuǎn)換成 JSON 格式:

use Illuminate\Http\Request;

Route::get('/search', function (Request $request) {
    return App\Models\Order::search($request->search)->get();
}); 

如果你想在它們返回 Eloquent 模型前得到原結(jié)果,你應(yīng)該使用 raw 方法:

$orders = App\Models\Order::search('Star Trek')->raw(); 

搜索查詢通常會(huì)在模型的 searchableAs 方法指定的索引上執(zhí)行。當(dāng)然,你也可以使用 within 方法指定應(yīng)該搜索的自定義索引:

$orders = App\Models\Order::search('Star Trek')
    ->within('tv_shows_popularity_desc')
    ->get(); 


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)