diff --git a/app/Http/Controllers/Admin/ParkingChannelController.php b/app/Http/Controllers/Admin/ParkingChannelController.php index 33b266e..6f44045 100644 --- a/app/Http/Controllers/Admin/ParkingChannelController.php +++ b/app/Http/Controllers/Admin/ParkingChannelController.php @@ -56,14 +56,14 @@ class ParkingChannelController extends BaseController if ($request->has('name')) { $name = $request->input('name'); if ($name) { - $typeId = 0; - $nameTypeId = AdminTranslationService::getTypeId(6, $name); - if ($nameTypeId) { - $typeId = $nameTypeId; + $typeId = []; + $nameTypeIds = AdminTranslationService::getLikeTypeIds(6, $name); + if ($nameTypeIds) { + $typeId = $nameTypeIds; } $query->where(function ($query) use ($name, $typeId) { - $query->orWhere('name', $name); - $query->orWhere('id', $typeId); + $query->orWhere('name', 'like', "%{$name}%"); + $query->orWhereIn('id', $typeId); }); } } diff --git a/app/Services/AdminTranslationService.php b/app/Services/AdminTranslationService.php index 9b8c705..5471f5d 100644 --- a/app/Services/AdminTranslationService.php +++ b/app/Services/AdminTranslationService.php @@ -242,6 +242,16 @@ class AdminTranslationService $query->orWhere('zh_tw', $name); } )->value('type_id'); + } + public static function getLikeTypeIds($type, $name) + { + return AdminTranslation::query()->where('type', $type)->where( + function ($query) use ($name) { + $query->orWhere('en', 'like', "%{$name}%"); + $query->orWhere('zh_cn', 'like', "%{$name}%"); + $query->orWhere('zh_tw', 'like', "%{$name}%"); + } + )->pluck('type_id'); } }