@@ -245,17 +245,17 @@ public function scopeFilterBySearch(Builder $query, string $phrase): Builder
245245
246246 $ query ->where (function (Builder $ outer ) use ($ keywords , $ settingsTable , $ pk , $ selfTable ) {
247247 foreach ($ keywords as $ tok ) {
248- $ like = '% ' . str_replace ([ ' % ' , '_ ' ], [ '\\ % ' , '\\ _ ' ], mb_strtolower ( $ tok , ' UTF-8 ' ) ) . '% ' ;
248+ $ like = '% ' . addcslashes ( $ tok , '%_ ' ) . '% ' ;
249249
250250 $ outer ->where (function (Builder $ q ) use ($ like , $ settingsTable , $ pk , $ selfTable ) {
251- $ q ->whereRaw ('LOWER(title) LIKE ? ' , [$ like ])
252- ->orWhereRaw ('LOWER(description) LIKE ? ' , [$ like ])
251+ $ q ->whereRaw ('LOWER(title) LIKE LOWER(?) ' , [$ like ])
252+ ->orWhereRaw ('LOWER(description) LIKE LOWER(?) ' , [$ like ])
253253 ->orWhereExists (function ($ sub ) use ($ like , $ settingsTable , $ pk , $ selfTable ) {
254254 $ sub ->select (DB ::raw (1 ))
255255 ->from ($ settingsTable . ' as ets ' )
256256 ->whereColumn ("ets. $ pk " , "$ selfTable. $ pk " )
257257 ->whereIn ('ets.setting_name ' , ['name ' , 'description ' ])
258- ->whereRaw ('LOWER(ets.setting_value) LIKE ? ' , [$ like ]);
258+ ->whereRaw ('LOWER(ets.setting_value) LIKE LOWER(?) ' , [$ like ]);
259259 });
260260 });
261261 }
0 commit comments