套件名稱 : js-adways/scopefilter
開發年份 : 2024
gitHub連結 : https://github.com/JsAdways/scopeFilter
內容簡介 :
scopefilter作為laravel Model的traits,只需要在Model中use traits,就可以用萬用的operator取得相對應資料
安裝方式 :
1 |
composer require jsadways/scopefilter |
使用方式 : (舉例 在user model中)
1 2 3 4 5 |
class User extends Model { ... use ScopeFilterTrait; ... } |
取得資料Example :
1 2 3 4 5 6 7 8 9 10 11 12 |
$filter = [ 'status_eq' => 1, 'keyword_or => [ 'name_k' => 'johnny', 'name_en => 'johnny' ], 'title_or' => [ 'sub_title_k' => 'master', 'title_company_k' => 'master' ] ]; $user_list = User::filter($filter)->get(); |
方法簡介 :
$filter參數的結構
1 |
[column_operator => value] |
在要搜尋的column名稱後面加入”底線” “運算子” 作為$filter的key,value為要搜尋的值
“or”作為一個特殊的運算子,可以帶入一個Array,裡面的條件將做or查詢,其他條件皆為and查詢
可用運算子如下 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
k => like '%{value}%' ipp => like '%{value}' iel => ilike '%{value}' in => whereIn() nin => whereNotIn() ge => >= gt => > ne => != eq => = lt => < le => <= nl => whereNull() nnl => whereNotNull() cge => whereColumn(>=) cgt => whereColumn(>) cne => whereColumn(!=) ceq => whereColumn(=) clt => whereColumn(<) cle => whereColumn(<=) dr => whereBetween(,value[0],value[1]) |