Laravel 8 使用本地作用域

2021-07-19 11:33 更新

一旦定義了作用域,就可以在查詢該模型時(shí)調(diào)用作用域方法。不過,在調(diào)用這些方法時(shí)不必包含 scope 前綴。甚至可以鏈?zhǔn)秸{(diào)用多個(gè)作用域,例如:

$users = App\Models\User::popular()->active()->orderBy('created_at')->get(); 

借助 or 查詢運(yùn)行符整合多個(gè) Eloquent 模型,可能需要使用閉包回調(diào):

$users = App\Models\User::popular()->orWhere(function (Builder $query) {
    $query->active();
})->get(); 

因?yàn)檫@樣可能會(huì)有點(diǎn)麻煩,Laravel 提供了「更高階的」orWhere 方法,它允許你在鏈?zhǔn)秸{(diào)用作用域時(shí)不使用閉包:

$users = App\Models\User::popular()->orWhere->active()->get(); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)